private static JsonToken toGsonToken(com.fasterxml.jackson.core.JsonToken token) {
    switch (token) {
    case START_ARRAY:
      return JsonToken.BEGIN_ARRAY;
    case END_ARRAY:
      return JsonToken.END_ARRAY;
    case START_OBJECT:
      return JsonToken.BEGIN_OBJECT;
    case END_OBJECT:
      return JsonToken.END_OBJECT;
    case FIELD_NAME:
      return JsonToken.NAME;
    case VALUE_FALSE:
      return JsonToken.BOOLEAN;
    case VALUE_TRUE:
      return JsonToken.BOOLEAN;
    case VALUE_NULL:
      return JsonToken.NULL;
    case VALUE_NUMBER_INT:
      return JsonToken.NUMBER;
    case VALUE_NUMBER_FLOAT:
      return JsonToken.NUMBER;
    case VALUE_STRING:
    case VALUE_EMBEDDED_OBJECT:
      return JsonToken.STRING;
    default: // Not semantically equivalent
      return JsonToken.NULL;
    }
  }
{@link JsonReader} implementation backed by Jackson's {@link JsonParser}.
Provides measurable JSON parsing improvements over Gson's native implementation.
Error reporting might differ, however.
gson/src/org/immutables/gson/stream/JsonParserReader.java