@Contract(pure = true)
  public static @Unmodifiable @NotNull <E> List<E> flatten(Collection<E> @NotNull [] collections) {
    return flatten(Arrays.asList(collections));
  }
@Contract(pure = true)
  public static @Unmodifiable @NotNull <E> List<E> flatten(Collection<E> @NotNull [] collections)