protected function constructorInjection($className, array $arguments = [], $constructor = null)
    {
        // Check for passed constructor or retrieve it
        if (null === $constructor) {
            $constructor = self::parseConstructor($this->getReflection());
        }

        // If not the default (__constructor) it must be static and so turn into array
        if (Doozr_Di_Constants::CONSTRUCTOR_METHOD !== $constructor) {
            $className = [$className, $constructor];
        }

        return $this->construct($className, $arguments);
    }