code: protected void on(JsonToken token, String fieldName, JsonParser jp) throws JsonParseException, IOException {
  		switch (token) {
  			case START_OBJECT:
  				onStartObject(fieldName, jp);
  				break;
  			case END_OBJECT:
  				onEndObject(fieldName, jp);
  				break;
  			case START_ARRAY:
  				onStartArray(fieldName, jp);
  				break;
  			case END_ARRAY:
  				onEndArray(fieldName, jp);
  				break;
  			case FIELD_NAME:
  				onFieldName(fieldName, jp);
  				break;
  			case VALUE_EMBEDDED_OBJECT:
  				// TODO
  				break;
  
  			case VALUE_STRING:
  				onString(jp.getText(), fieldName, jp);
  				break;
  			case VALUE_NUMBER_INT:
  				onInt(jp.getValueAsInt(), fieldName, jp);
  				break;
  			case VALUE_NUMBER_FLOAT:
  				onDouble(jp.getValueAsDouble(), fieldName, jp);
  				break;
  			case VALUE_TRUE:
  				onBoolean(true, fieldName, jp);
  				break;
  			case VALUE_FALSE:
  				onBoolean(false, fieldName, jp);
  				break;
  			case VALUE_NULL:
  				onNull(fieldName, jp);
  				break;
  			case NOT_AVAILABLE:
  				break;
  			default:
  				log.warn("Unhandled Token " + token + " found for field " + fieldName);
  		}
  	}
docs: <p>
  on.
  </p>
  
  @param token
  a {@link org.codehaus.jackson.JsonToken} object.
  @param fieldName
  a {@link java.lang.String} object.
  @param jp
  a {@link org.codehaus.jackson.JsonParser} object.
  @throws org.codehaus.jackson.JsonParseException
  if any.
  @throws java.io.IOException
  if any.