private static @NotNull <T> Set<T> subtract(@NotNull Collection<? extends T> from, @NotNull Collection<? extends T> what) {
    Set<T> set = new HashSet<>(from);
    set.removeAll(what);
    return set;
  }
private static @NotNull <T> Set<T> subtract(@NotNull Collection<? extends T> from, @NotNull Collection<? extends T> what)