private function addNamespaceInformation(Collection $tokens)
 {
     $previousNamespaceToken = null;
     foreach ($tokens as $i => $token) {
         if ($token instanceof NamespaceToken) {
             $nameOrBracket = $tokens->getNextNonWhitespace($token);
             if (!$nameOrBracket->is('{')) {
                 $token->setNameToken($nameOrBracket);
                 $nameOrBracket->setDetailedType('namespace-name');
                 $nameOrBracket = $tokens->getNextNonWhitespace($nameOrBracket);
             }
             $token->setHasBrackets($nameOrBracket->is('{'));
             if ($token->hasBrackets()) {
                 $token->setLastToken($nameOrBracket->getCorrespondingBracket());
             }
             if (null !== $previousNamespaceToken && null === $previousNamespaceToken->getLastToken()) {
                 $previousNamespaceToken->setLastToken($tokens[$i - 1]);
             }
             $previousNamespaceToken = $token;
         }
         $token->setNamespaceToken($previousNamespaceToken);
     }
     if (null !== $previousNamespaceToken && null === $previousNamespaceToken->getLastToken()) {
         $previousNamespaceToken->setLastToken($tokens[$tokens->count() - 1]);
     }
     return $tokens;
 }