protected <T> T parse(JsonReaderI<T> mapper) throws ParseException {
		this.pos = -1;
		T result;
		try {
			read();
			result = readFirst(mapper);
			if (checkTaillingData) {
				if (!checkTaillingSpace)
					skipSpace();
				if (c != EOI)
					throw new ParseException(pos - 1, ERROR_UNEXPECTED_TOKEN, c);
			}
		} catch (IOException e) {
			throw new ParseException(pos, e);
		}
		xs = null;
		xo = null;
		return result;
	}
protected < T > T parse ( JsonReaderI < T > mapper ) throws ParseException { this . pos = - 1 ; T result ; try { read ( ) ; result = readFirst ( mapper ) ; if ( checkTaillingData ) { if ( ! checkTaillingSpace ) skipSpace ( ) ; if ( c != EOI ) throw new ParseException ( pos - 1 , ERROR_UNEXPECTED_TOKEN , c ) ; } } catch ( IOException e ) { throw new ParseException ( pos , e ) ; } xs = null ; xo = null ; return result ; }
use to return Primitive Type, or String, Or JsonObject or JsonArray
generated by a ContainerFactory