Object (@NotNull final String dataId) { if (PlatformCoreDataKeys.HELP_ID.is(dataId)) { return "viewingStructure.commander"; } else if (CommonDataKeys.PROJECT.is(dataId)) { return project; } else if (PlatformCoreDataKeys.BGT_DATA_PROVIDER.is(dataId)) { AbstractTreeNode<?> parent1 = getActivePanel().getBuilder().getParentNode(); AbstractTreeNode<?> selection1 = getActivePanel().getSelectedNode(); AbstractTreeNode<?> parent2 = getInactivePanel().getBuilder().getParentNode(); AbstractTreeNode<?> selection2 = getInactivePanel().getSelectedNode(); Couple<AbstractTreeNode<?>> activeSelection = Couple.of(parent1, selection1); Couple<AbstractTreeNode<?>> inactiveSelection = Couple.of(parent2, selection2); DataProvider panelProvider = (DataProvider)getActivePanel().getDataImpl(dataId); return CompositeDataProvider.compose(slowId -> getSlowData(slowId, activeSelection, inactiveSelection), panelProvider); } else { return getActivePanel().getDataImpl(dataId); } }