public void calculateUpdates(@NotNull Consumer<? super Collection<IdeaPluginDescriptor>> callback) {
    synchronized (ourLock) {
      if (myUpdateCallbacks == null) {
        myUpdateCallbacks = new ArrayList<>();
      }
      final var adaptedCallback = adaptDescriptorConsumerToUpdateResultConsumer(callback);
      myUpdateCallbacks.add(adaptedCallback);
      if (ourPrepared) {
        adaptedCallback.accept(getFilteredUpdateResult());
        return;
      }
    }
    calculateUpdates();
  }
public void calculateUpdates(@NotNull Consumer<? super Collection<IdeaPluginDescriptor>> callback)