void disposeNow(boolean succeeded) {
      myModalityTracker.invokeLater(() -> {
        getInstance().removeTask(this);
        //collections may change from the callbacks
        myCompleteListeners.copy().forEach(it -> it.consume(succeeded));
        myDisposables.copy().forEach(it -> Disposer.dispose(it));
        if (!succeeded) {
          mySdkFailedHandlers.copy().forEach(Runnable::run);
        }
      });
    }
void disposeNow(boolean succeeded)