Code Duplication    Length = 29-32 lines in 2 locations

src/JsonDiscovery.php 2 locations

@@ 282-313 (lines=32) @@
279
    /**
280
     * {@inheritdoc}
281
     */
282
    public function removeBinding(Uuid $uuid)
283
    {
284
        if (null === $this->json) {
285
            $this->load();
286
        }
287
288
        $uuidString = $uuid->toString();
289
290
        if (!isset($this->json['keysByUuid'][$uuidString])) {
291
            return;
292
        }
293
294
        $key = $this->json['keysByUuid'][$uuidString];
295
296
        if (!isset($this->bindingsByKey[$key])) {
297
            $this->loadBindingsForKey($key);
298
        }
299
300
        foreach ($this->bindingsByKey[$key] as $i => $binding) {
301
            if ($binding->getUuid()->equals($uuid)) {
302
                unset($this->bindingsByKey[$key][$i]);
303
            }
304
        }
305
306
        $this->reindexBindingsForKey($key);
307
308
        unset($this->json['keysByUuid'][$uuidString]);
309
310
        $this->json['bindingsByKey'][$key] = serialize($this->bindingsByKey[$key]);
311
312
        $this->flush();
313
    }
314
315
    /**
316
     * {@inheritdoc}
@@ 484-512 (lines=29) @@
481
    /**
482
     * {@inheritdoc}
483
     */
484
    protected function removeBindingsWithTypeNameThatMatch($typeName, Expression $expr)
485
    {
486
        if (null === $this->json) {
487
            $this->load();
488
        }
489
490
        if (!isset($this->json['keysByTypeName'][$typeName])) {
491
            return;
492
        }
493
494
        $key = $this->json['keysByTypeName'][$typeName];
495
496
        if (!isset($this->bindingsByKey[$key])) {
497
            $this->loadBindingsForKey($key);
498
        }
499
500
        foreach ($this->bindingsByKey[$key] as $i => $binding) {
501
            if ($expr->evaluate($binding)) {
502
                unset($this->bindingsByKey[$key][$i]);
503
                unset($this->json['keysByUuid'][$binding->getUuid()->toString()]);
504
            }
505
        }
506
507
        $this->reindexBindingsForKey($key);
508
509
        $this->json['bindingsByKey'][$key] = serialize($this->bindingsByKey[$key]);
510
511
        $this->flush();
512
    }
513
514
    /**
515
     * {@inheritdoc}