public static @NotNull <T extends Comparable<? super T>> T min(@NotNull T o1, @NotNull T o2) {
    return o1.compareTo(o2) >= 0 ? o2 : o1;
  }
public static @NotNull <T extends Comparable<? super T>> T min(@NotNull T o1, @NotNull T o2)