protected function createParameter(Meta\InjectionParameter $parameterMeta) { if ($parameterMeta->isProvider()) { return new Provider\ProviderImpl($this, $parameterMeta->provides()); } return $this->getInstance($parameterMeta->type(), false, $parameterMeta->isOptional()); }