@Override
  public void uiDataSnapshot(@NotNull DataSink sink) {
    Object selectedValue = getSelectedValue();
    if (selectedValue == null) return;

    sink.set(PlatformDataKeys.COPY_PROVIDER, myCopyProvider);
    if (selectedValue instanceof Module o) {
      sink.set(PlatformCoreDataKeys.MODULE, o);
    }
    if (!(selectedValue instanceof ValidateableNode o) || o.isValid()) {
      DataSink.uiDataSnapshot(sink, selectedValue);
    }
    if (selectedValue instanceof PsiElement o) {
      sink.lazy(CommonDataKeys.PSI_ELEMENT, () -> o);
    }
    if (selectedValue instanceof Navigatable o) {
      sink.lazy(CommonDataKeys.NAVIGATABLE, () -> o);
    }
  }
@Override
  public void uiDataSnapshot(@NotNull DataSink sink)