@Override
    public void uiDataSnapshot(@NotNull DataSink sink) {
      DefaultMutableTreeNode[] selectedNodes = getSelectedNodes(DefaultMutableTreeNode.class, null);
      if (selectedNodes.length == 1 && selectedNodes[0].getUserObject() instanceof MigrationNode node) {
        sink.lazy(CommonDataKeys.PSI_ELEMENT, () -> node.getInfo().getElement());
      }
      Set<TypeMigrationUsageInfo> usageInfos = new HashSet<>();
      for (DefaultMutableTreeNode selectedNode : selectedNodes) {
        if (selectedNode.getUserObject() instanceof MigrationNode node) {
          collectInfos(usageInfos, node);
        }
      }
      sink.set(MIGRATION_USAGES_KEY, usageInfos.toArray(new TypeMigrationUsageInfo[0]));
    }
@Override
    public void uiDataSnapshot(@NotNull DataSink sink)