void (@NotNull final AnActionEvent e) { if (myProject == null) { return; } try { final AntConfiguration config = AntConfiguration.getInstance(myProject); // this call will also lead to ant configuration loading final AntConfigurationListener listener = new AntConfigurationListener() { @Override public void configurationLoaded() { config.removeAntConfigurationListener(this); invokeAction(e); } }; config.addAntConfigurationListener(listener); Disposer.register(AntDisposable.getInstance(myProject), new ListenerRemover(config, listener)); } finally { invokeAction(e); Disposer.dispose(this); } }