protected static function getArgumentDeclaration(\ReflectionMethod $method)
    {
        $declarations = array();
        $parameters = explode(', ', self::getMethodParameters($method));

        foreach ($parameters as $parameter) {

            if (0 < strpos(trim($parameter), ' $') && false === strpos($parameter, 'array')) {
                $declarations[] = '\\' . $parameter;
                continue;
            }

            $declarations[] = $parameter;
        }

        return implode(', ', $declarations);
    }