public abstract Object parseObject (String str, ParsePosition pos);
public Object parseObject (String str) throws ParseException { ParsePosition pos = new ParsePosition(0); Object result = parseObject (str, pos); if (result == null) { int index = pos.getErrorIndex(); if (index < 0) index = pos.getIndex(); throw new ParseException("parseObject failed", index); } return result; }
  public abstract Object parseObject (String str, ParsePosition pos);