Object (@NotNull Collection<? extends AbstractTreeNode<?>> selection, @NotNull String dataId) { if (!myProject.isDisposed() && !selection.isEmpty()) { for (TreeStructureProvider provider : EP.getExtensions(myProject)) { try { Object data = provider.getData(selection, dataId); if (data != null) return data; } catch (IndexNotReadyException | ProcessCanceledException ignore) { } catch (Exception exception) { LOG.warn("unexpected error in " + provider, exception); } } } return null; }