protected function configureEach() {
        foreach ($this->providers as $class => &$data) {
            if ( ! array_contains(array_get($data, 'tags'), ProviderTag::CONFIGURED)) {
                $this->create();

                array_add($data, 'tags', ProviderTag::CONFIGURED);
                $instance = array_get($data, 'instance');

                if (method_exists($instance, 'configure')) {
                    $this->getProviderInvoker()
                        ->configure($instance, $this->getSharedArguments());
                }

                $this->configureEach();
                break;
            }
        }
    }