@Override
  public void doIteration() {
    LeafBlockWrapper blockToProcess = myCurrentBlock;
    processToken();
    if (blockToProcess != null) {
      myProgressCallback.afterProcessingBlock(blockToProcess);
    }

    if (myCurrentBlock != null) {
      return;
    }

    if (myAlignAgain.isEmpty()) {
      postProcessDependantWhitespaces();
      setDone(true);
    }
    else {
      myAlignAgain.clear();
      myDependentSpacingEngine.clear();
      myCurrentBlock = myFirstBlock;
      myDependentSpacingEngine.incrementIteration();
    }
  }
@Override
  public void doIteration()