private static void cacheProviderData(@NotNull MySink sink,
                                        @Nullable Object dataProvider,
                                        @NotNull DataManagerImpl dataManager) {
    DataSink.uiDataSnapshot(sink, dataProvider);
    if (sink.map != null) { // no data - no rules
      for (DataKey<?> key : dataManager.keysForRuleType(GetDataRuleType.FAST)) {
        Object data = dataManager.getDataFromRules(key.getName(), GetDataRuleType.FAST, sink.map.uiSnapshot::get);
        if (data == null) continue;
        sink.map.uiSnapshot.putIfAbsent(key.getName(), data);
      }
    }
    if (sink.hideEditor) {
      if (sink.map == null) sink.map = new ProviderData();
      sink.map.uiSnapshot.put(CommonDataKeys.EDITOR.getName(), EXPLICIT_NULL);
      sink.map.uiSnapshot.put(CommonDataKeys.HOST_EDITOR.getName(), EXPLICIT_NULL);
      sink.map.uiSnapshot.put(InjectedDataKeys.EDITOR.getName(), EXPLICIT_NULL);
    }
  }
private static void cacheProviderData(@NotNull MySink sink,
                                        @Nullable Object dataProvider,
                                        @NotNull DataManagerImpl dataManager)