public static @NotNull <K, V> MultiMap<K, V> createSet(@NotNull Map<K, Collection<V>> map) {
    return new MultiMap<K, V>(map) {
      @Override
      protected @NotNull Collection<V> createCollection() {
        return new SmartHashSet<>();
      }

      @Override
      protected @NotNull Collection<V> createEmptyCollection() {
        return Collections.emptySet();
      }
    };
  }
public static @NotNull <K, V> MultiMap<K, V> createSet(@NotNull Map<K, Collection<V>> map)