callback.declaration(property, value.toString());
callback.declaration(property, value.toString().trim());
  private boolean parseDeclaration()   throws IOException  {    // Maybe fetch one DELIM.    int token = readToken();    if (token == CSSScanner.DELIM)      token = readToken();    boolean ret = true;    // Parse property    String property = null;    if (token == CSSScanner.IDENT)      {        property = new String(scanner.parseBuffer, 0, scanner.tokenEnd);        // Read any number of whitespace.        do          {            token = readToken();          } while (token == CSSScanner.S);        // Read ':'.        if (token == CSSScanner.DELIM && scanner.parseBuffer[0] == ':')          {            // Read any number of whitespace.            do              {                token = readToken();              } while (token == CSSScanner.S);            lookahead = token;            StringBuilder value = new StringBuilder();            if (parseValue(value))              {                callback.declaration(property, value.toString());              }            else              {                ret = false;                error = "Error while reading the property value";              }          }        else          {            ret = false;            error = "Expected colon to separate property and value";          }                }    else      {        lookahead = token;        ret = false;        error = "Expected IDENT token for property";      }    return ret;  }