Object (@NotNull @NonNls String dataId) { if (PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId)) { return null; } if (PlatformDataKeys.TREE_EXPANDER.is(dataId)) { JTree tree = getCurrentTree(); if (tree != null) { return new DefaultTreeExpander(tree); } } if (PlatformCoreDataKeys.SELECTED_ITEMS.is(dataId)) { return getSelectedDescriptors(); } if (PlatformCoreDataKeys.BGT_DATA_PROVIDER.is(dataId)) { DataProvider bgtProvider = (DataProvider)super.getData(PlatformCoreDataKeys.BGT_DATA_PROVIDER.getName()); HierarchyNodeDescriptor[] descriptors = getSelectedDescriptors(); return CompositeDataProvider.compose(slowId -> getSlowData(slowId, descriptors), bgtProvider); } return super.getData(dataId); }