@Override
    public void uiDataSnapshot(@NotNull DataSink sink, @NotNull DataSnapshot snapshot) {
      AbstractTreeNode<?> node = JBIterable.of(snapshot.get(PlatformCoreDataKeys.SELECTED_ITEMS))
        .filter(AbstractTreeNode.class)
        .single();
      if (node instanceof MyRootNode selection) {
        sink.lazy(LangDataKeys.PASTE_TARGET_PSI_ELEMENT, () -> {
          VirtualFile file = selection.getVirtualFile();
          Project project = selection.getProject();
          return file == null || project == null ? null : PsiManager.getInstance(project).findDirectory(file);
        });
      }
    }
@Override
    public void uiDataSnapshot(@NotNull DataSink sink, @NotNull DataSnapshot snapshot)