code: public String nextString() throws IOException {
      peek();
      if (token != JsonToken.STRING && token != JsonToken.NUMBER) {
        throw new IllegalStateException("Expected a string but was " + peek()
            + " at line " + getLineNumber() + " column " + getColumnNumber());
      }
  
      String result = value;
      advance();
      return result;
    }
docs: Returns the {@link JsonToken#STRING string} value of the next token,
  consuming it. If the next token is a number, this method will return its
  string form.
  
  @throws IllegalStateException if the next token is not a string or if
  this reader is closed.