code: protected static final Object parseNext(Source src) throws IOException {
  		skipWhitespaces(src);
  		switch (src.ch) {
  
  		case '"':
  			return parseString(src);
  
  		case 't':
  			src.idx += 4;
  			return Boolean.TRUE;
  
  		case 'f':
  			src.idx += 5;
  			return Boolean.FALSE;
  
  		case 'n':
  			src.idx += 4;
  			return null;
  
  		case '[':
  			return parseList(src);
  
  		case '{':
  			return parseMap(src);
  
  		case '0':
  		case '1':
  		case '2':
  		case '3':
  		case '4':
  		case '5':
  		case '6':
  		case '7':
  		case '8':
  		case '9':
  		case '-':
  			return parseNumber(src);
  
  		default:
  			throw new IOException(
  					"Unable to determine the next character, it is not a string, number, array, or object!");
  		}
  	}
docs: --- PRIVATE PARSER METHODS ---