@NotNull
  private static <T> Comparator<T> reverseComparator(@NotNull Comparator<T> comparator, SortOrder order) {
    if (order != SortOrder.DESCENDING) return comparator;
    return (o1, o2) -> -comparator.compare(o1, o2);
  }
@NotNull
  private static <T> Comparator<T> reverseComparator(@NotNull Comparator<T> comparator, SortOrder order)