@Override
  public @NotNull DataContext customizeDataContext(@NotNull DataContext context, @NotNull Object provider) {
    class MyAdapter implements EdtNoGetDataProvider, DataValidators.SourceWrapper {
      @Override
      public @NotNull Object unwrapSource() { return provider; }

      @Override
      public void dataSnapshot(@NotNull DataSink sink) {
        if (provider instanceof UiDataProvider o) o.uiDataSnapshot(sink);
        else if (provider instanceof DataSnapshotProvider o) o.dataSnapshot(sink);
      }
    }
    DataProvider p = provider instanceof DataProvider o ? o :
                     provider instanceof UiDataProvider ? new MyAdapter() :
                     provider instanceof DataSnapshotProvider ? new MyAdapter() :
                     null;
    if (p == null) throw new AssertionError("Unexpected provider: " + provider.getClass().getName());
    return IdeUiService.getInstance().createCustomizedDataContext(context, p);
  }
@Override
  public @NotNull DataContext customizeDataContext(@NotNull DataContext context, @NotNull Object provider)