code: @Override
      public int nextIntValue(int defaultValue)
              throws IOException, JsonParseException
      {
          if (_currToken == JsonToken.FIELD_NAME) {
              _nameCopied = false;
              JsonToken t = _nextToken;
              _nextToken = null;
              _currToken = t;
              if (t == JsonToken.VALUE_NUMBER_INT) {
                  return getIntValue();
              }
              if (t == JsonToken.START_ARRAY) {
                  _parsingContext = _parsingContext.createChildArrayContext(_tokenInputRow, _tokenInputCol);
              } else if (t == JsonToken.START_OBJECT) {
                  _parsingContext = _parsingContext.createChildObjectContext(_tokenInputRow, _tokenInputCol);
              }
              return defaultValue;
          }
          // !!! TODO: optimize this case as well
          return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue;
      }
docs: note: identical to one in Utf8StreamParser