void (@NotNull Consumer<? super Collection<IdeaPluginDescriptor>> callback) { synchronized (ourLock) { if (myUpdateCallbacks == null) { myUpdateCallbacks = new ArrayList<>(); } myUpdateCallbacks.add(callback); if (myPrepared) { callback.accept(myCache); return; } } calculateUpdates(); }