code: private void setNextSamplePosition(long position)
      {
          tryAgain: while (true)
          {
              position += minIndexInterval;
              long test = indexIntervalMatches++;
              for (int start : startPoints)
                  if ((test - start) % BASE_SAMPLING_LEVEL == 0)
                      continue tryAgain;
  
              nextSamplePosition = position;
              return;
          }
      }
docs: calculate the next key we will store to our summary