private static @NotNull
  @Unmodifiable <E> List<E> immutableOrEmptyList(@NotNull List<? extends E> list) {
    return list.isEmpty() ? Collections.emptyList() : List.copyOf(list);
  }
private static @NotNull
  @Unmodifiable <E> List<E> immutableOrEmptyList(@NotNull List<? extends E> list)