public function filterByInjectHint(Config $config, DiInjectHintAnnotation $hint) : array
    {
        $filtered = [];

        foreach ($this->services as $serviceId => $serviceQueue) {

            $serviceDefinition = $serviceQueue->findFirstAvailable($config);

            if ($serviceDefinition !== null && $hint->filter($serviceDefinition)) {
                $filtered[] = $serviceDefinition;
            }
        }

        return $filtered;
    }
public function filterByInjectHint(Config $config, DiInjectHintAnnotation $hint) : array
    {
        $filtered = [];

        foreach ($this->services as $serviceId => $serviceQueue) {

            $serviceDefinition = $serviceQueue->findFirstAvailable($config);

            if ($serviceDefinition !== null && $hint->filter($serviceDefinition)) {
                $filtered[] = $serviceDefinition;
            }
        }

        return $filtered;
    }
@param Config                 $config
@param DiInjectHintAnnotation $hint

@return ServiceDefinition[]