callback.startStatement(selector.toString());
StringTokenizer selSplitter = new StringTokenizer(selector.toString(), ","); Selector[] sels = new Selector[selSplitter.countTokens()]; for (int i = 0; selSplitter.hasMoreTokens(); i++) { String sel = selSplitter.nextToken().trim(); sels[i] = new Selector(sel); } callback.startStatement(sels);
  private boolean parseRuleset()    throws IOException  {    StringBuilder selector = new StringBuilder();    parseSelector(selector);    callback.startStatement(selector.toString());    // Read any number of whitespace.    int token;    do      {        token = readToken();      } while (token == CSSScanner.S);    boolean ret = true;    if (token == CSSScanner.CURLY_LEFT)      {        // Read any number of whitespace.        do          {            token = readToken();          } while (token == CSSScanner.S);        lookahead = token;        // Maybe read declaration.        boolean decl = parseDeclaration();        token = peekToken();        while (token == CSSScanner.SEMICOLON)          {            readToken(); // Read the semicolon.            // Read any number of whitespace.            do              {                token = readToken();              } while (token == CSSScanner.S);            lookahead = token;            // Maybe read declaration.            parseDeclaration();            token = peekToken();          }        if (token != CSSScanner.CURLY_RIGHT)          {            error = "Expected right curly brace";            ret = false;          }        else          {            readToken();            // Read any number of whitespace.            do              {                token = readToken();              } while (token == CSSScanner.S);            lookahead = token;            callback.endStatement();          }      }    else      {        ret = false;        error = "Expected left curly brace";      }    return ret;  }