code: private void parseQueryRows(boolean lastChunk) {
          while (true) {
              int openBracketPos = findNextChar(responseContent, '{');
              if (isEmptySection(openBracketPos) || (lastChunk && openBracketPos < 0)) {
                  sectionDone();
                  queryParsingState = transitionToNextToken(lastChunk);
                  break;
              }
  
              int closeBracketPos = findSectionClosingPosition(responseContent, '{', '}');
              if (closeBracketPos == -1) {
                  break;
              }
  
              int length = closeBracketPos - openBracketPos - responseContent.readerIndex() + 1;
              responseContent.skipBytes(openBracketPos);
              ByteBuf resultSlice = responseContent.readSlice(length);
              queryRowObservable.onNext(resultSlice.copy());
              responseContent.discardSomeReadBytes();
          }
      }
docs: Parses the query rows from the content stream as long as there is data to be found.