code: @Beta
    public static <T> Comparator<Optional<T>> emptiesFirst(Comparator<? super T> valueComparator) {
      checkNotNull(valueComparator);
      return Comparator.comparing(o -> o.orElse(null), Comparator.nullsFirst(valueComparator));
    }
docs: Returns a comparator of {@link Optional} values which treats {@link Optional#empty} as less
  than all other values, and orders the rest using {@code valueComparator} on the contained
  value.
  
  @since 22.0