docs: private boolean goToNextDoc() throws IOException {
      reset();
      if (docId == NO_MORE_DOCS) {
        minPosition = NO_MORE_POSITIONS;
        maxPosition = NO_MORE_POSITIONS;
        return true;
      } else {
        docId = subSpans.nextDoc();
        if (docId == NO_MORE_DOCS) {
          minPosition = NO_MORE_POSITIONS;
          maxPosition = NO_MORE_POSITIONS;
          return true;
        } else {
          IndexDoc doc = mtasCodecInfo.getDoc(field, docId);
          if (doc != null) {
            minPosition = doc.minPosition;
            maxPosition = doc.maxPosition;
          } else {
            minPosition = NO_MORE_POSITIONS;
            maxPosition = NO_MORE_POSITIONS;
          }
          if (goToNextStartPosition()) {
            return true;
          } else {
            return false;
          }
        }
      }
    }