StringBuffer code = new StringBuffer(4);
code.clear();
  protected int unicodeEscapeLexer(int c) throws IOException {    int ret = 0;    // ignore 'u' (assume c==\ now) and read 4 hex digits    c = in.read();    StringBuffer code = new StringBuffer(4);    try {      for (int i = 0; i < 4; i++) {        c  = in.read();        if (isEndOfFile(c) || isEndOfLine(c)) {          throw new NumberFormatException("number too short");        }        code.append((char) c);      }      ret = Integer.parseInt(code.toString(), 16);    } catch (NumberFormatException e) {      throw new IOException(        "(line " + getLineNumber() + ") Wrong unicode escape sequence found '"         + code.toString() + "'" + e.toString());    }    return ret;  }