public void performOperation(@NotNull Type type, @NotNull @Nls String displayName, @NotNull Runnable runnable) {
    Op op = new Op(type, displayName);
    myHeavyProcesses.add(op);
    myEventDispatcher.getMulticaster().processStarted(op);
    try {
      runnable.run();
    }
    finally {
      myHeavyProcesses.remove(op);
      myEventDispatcher.getMulticaster().processFinished(op);
    }
  }
public void performOperation(@NotNull Type type, @NotNull @Nls String displayName, @NotNull Runnable runnable)