private function getAnnotation()
    {
        $this->match(DocLexer::T_AT);

        // get the complete name
        $identifier = $this->getIdentifier();

        // skip if necessary
        if (in_array($identifier, $this->ignored)) {
            return null;
        }

        // use alias if applicable
        if (false !== ($pos = strpos($identifier, '\\'))) {
            $alias = substr($identifier, 0, $pos);

            if (isset($this->aliases[$alias])) {
                $identifier = $this->aliases[$alias]
                            . '\\'
                            . substr($identifier, $pos + 1);
            }
        } elseif (isset($this->aliases[$identifier])) {
            $identifier = $this->aliases[$identifier];
        }

        // return the @, name, and any values found
        return array_merge(
            array(
                array(DocLexer::T_AT),
                array(DocLexer::T_IDENTIFIER, $identifier)
            ),
            $this->getValues()
        );
    }