code: function(){
              
                  /*
                   * pseudo
                   *   : ':' ':'? [ IDENT | functional_pseudo ]
                   *   ;    
                   */   
              
                  var tokenStream = this._tokenStream,
                      pseudo      = null,
                      colons      = ":",
                      line,
                      col;
                  
                  if (tokenStream.match(Tokens.COLON)){
                  
                      if (tokenStream.match(Tokens.COLON)){
                          colons += ":";
                      }
                  
                      if (tokenStream.match(Tokens.IDENT)){
                          pseudo = tokenStream.token().value;
                          line = tokenStream.token().startLine;
                          col = tokenStream.token().startCol - colons.length;
                      } else if (tokenStream.peek() == Tokens.FUNCTION){
                          line = tokenStream.LT(1).startLine;
                          col = tokenStream.LT(1).startCol - colons.length;
                          pseudo = this._functional_pseudo();
                      }
                      
                      if (pseudo){
                          pseudo = new SelectorSubPart(colons + pseudo, "pseudo", line, col);
                      }
                  }
          
                  return pseudo;
              }
docs: CSS3 Selectors