@Override
  public String nextString() throws IOException {
    requirePeek();
    if (!peek.isScalarValue()) {
      throw new IllegalStateException("Expected scalar value for string but was " + peek);
    }
    String value = parser.getText();
    clearPeek();
    return value;
  }
{@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