static @NotNull AsyncDataContext customize(@NotNull AsyncDataContext context, @Nullable Object provider) {
    if (provider == null) return context;
    MySink sink = new MySink();
    cacheProviderData(sink, provider, (DataManagerImpl)DataManager.getInstance());
    Map<String, Object> snapshot = sink.map == null ? null : sink.map.uiSnapshot;
    if (snapshot == null) return context;
    return dataId -> DataManager.getInstance().getCustomizedData(dataId, context, snapshot::get);
  }
static @NotNull AsyncDataContext customize(@NotNull AsyncDataContext context, @Nullable Object provider)