private void advanceIteratorOnSuccess() {
    while (candidatesToFindSubclassesIterator.hasNext()) {
      ProgressManager.checkCanceled();
      T next = candidatesToFindSubclassesIterator.position().next().peek();
      boolean removed = classesProcessed.remove(next);
      if (removed) {
        candidatesToFindSubclassesIterator.next();
      }
      else {
        break;
      }
    }
  }
private void advanceIteratorOnSuccess()