Object (@NotNull @NonNls final String dataId) { if (PlatformCoreDataKeys.BGT_DATA_PROVIDER.is(dataId)) { final DefaultMutableTreeNode[] selectedNodes = getSelectedNodes(DefaultMutableTreeNode.class, null); if (selectedNodes.length == 1 && selectedNodes[0].getUserObject() instanceof MigrationNode node) { return (DataProvider)slowId -> CommonDataKeys.PSI_ELEMENT.is(dataId) ? node.getInfo().getElement() : null; } } if (MIGRATION_USAGES_KEY.is(dataId)) { DefaultMutableTreeNode[] selectedNodes = getSelectedNodes(DefaultMutableTreeNode.class, null); final Set<TypeMigrationUsageInfo> usageInfos = new HashSet<>(); for (DefaultMutableTreeNode selectedNode : selectedNodes) { if (selectedNode.getUserObject() instanceof MigrationNode node) { collectInfos(usageInfos, node); } } return usageInfos.toArray(new TypeMigrationUsageInfo[0]); } return null; }