/**
  * Move to specific position
  *
  * @param Token $token
  * @return Token|null
  */
 public function moveToToken(Token $token)
 {
     if (!$token->isValid()) {
         $this->setValid(false);
         return new Token();
     }
     $tokenIndex = $token->getIndex();
     foreach ($this->collection as $index => $collectionToken) {
         if ($collectionToken->getIndex() == $tokenIndex) {
             $this->setPosition($index);
             return $collectionToken;
         }
     }
     $this->setValid(false);
     return new Token();
 }