Code Duplication    Length = 25-28 lines in 2 locations

src/KeyValueStoreDiscovery.php 2 locations

@@ 274-301 (lines=28) @@
271
    /**
272
     * {@inheritdoc}
273
     */
274
    public function removeBinding(Uuid $uuid)
275
    {
276
        $uuidString = $uuid->toString();
277
278
        if (!isset($this->keysByUuid[$uuidString])) {
279
            return;
280
        }
281
282
        $key = $this->keysByUuid[$uuidString];
283
284
        if (!isset($this->bindingsByKey[$key])) {
285
            $this->loadBindingsForKey($key);
286
        }
287
288
        foreach ($this->bindingsByKey[$key] as $i => $binding) {
289
            if ($binding->getUuid()->equals($uuid)) {
290
                unset($this->bindingsByKey[$key][$i]);
291
            }
292
        }
293
294
        // Reindex array
295
        $this->bindingsByKey[$key] = array_values($this->bindingsByKey[$key]);
296
297
        unset($this->keysByUuid[$uuidString]);
298
299
        $this->store->set('b:'.$key, $this->bindingsByKey[$key]);
300
        $this->store->set('::keysByUuid', $this->keysByUuid);
301
    }
302
303
    /**
304
     * {@inheritdoc}
@@ 448-472 (lines=25) @@
445
    /**
446
     * {@inheritdoc}
447
     */
448
    protected function removeBindingsWithTypeNameThatMatch($typeName, Expression $expr)
449
    {
450
        if (!isset($this->keysByTypeName[$typeName])) {
451
            return;
452
        }
453
454
        $key = $this->keysByTypeName[$typeName];
455
456
        if (!isset($this->bindingsByKey[$key])) {
457
            $this->loadBindingsForKey($key);
458
        }
459
460
        foreach ($this->bindingsByKey[$key] as $i => $binding) {
461
            if ($expr->evaluate($binding)) {
462
                unset($this->bindingsByKey[$key][$i]);
463
                unset($this->keysByUuid[$binding->getUuid()->toString()]);
464
            }
465
        }
466
467
        // Reindex array
468
        $this->bindingsByKey[$key] = array_values($this->bindingsByKey[$key]);
469
470
        $this->store->set('b:'.$key, $this->bindingsByKey[$key]);
471
        $this->store->set('::keysByUuid', $this->keysByUuid);
472
    }
473
474
    /**
475
     * {@inheritdoc}