protected function injectMethod(ClassReflection $class, $methodTag)
    {
        $data = $this->parseMethod($methodTag);

        // Bail if the method format is invalid
        if (!$data) {
            return false;
        }

        $method = new MethodReflection($data['name'], $class->getLine());
        $method->setDocComment($data['description']);
        $method->setShortDesc($data['description']);

        if ($data['hint']) {
            $method->setHint(array(array($data['hint'], null)));
        }

        // Add arguments to the method
        foreach ($data['args'] as $name => $arg) {
            $param = new ParameterReflection($name, $class->getLine());
            if (!empty($arg['hint'])) {
                $param->setHint(array(array($arg['hint'], null)));
            }
            if (!empty($arg['default'])) {
                $param->setDefault($arg['default']);
            }
            $method->addParameter($param);
        }

        $class->addMethod($method);

        return true;
    }