code: @Override
    public int nextStartPosition() throws IOException {
      // no document
      if (docId == -1 || docId == NO_MORE_DOCS) {
        throw new IOException("no document");
        // finished
      } else if (noMorePositions) {
        return NO_MORE_POSITIONS;
        // littleSpans already at start match, because of check for matching
        // document
      } else if (!calledNextStartPosition) {
        calledNextStartPosition = true;
        return spans1.spans.startPosition();
        // compute next match
      } else {
        if (goToNextStartPosition()) {
          // match found
          return spans1.spans.startPosition();
        } else {
          // no more matches: document finished
          return NO_MORE_POSITIONS;
        }
      }
    }
docs: /*
  (non-Javadoc)
  
  @see org.apache.lucene.search.spans.Spans#nextStartPosition()