code: public static<T> Optional<T> empty() {
          @SuppressWarnings("unchecked")
          Optional<T> t = (Optional<T>) EMPTY;
          return t;
      }
docs: Returns an empty {@code Optional} instance.  No value is present for this
  Optional.
  
  @apiNote Though it may be tempting to do so, avoid testing if an object
  is empty by comparing with {@code ==} against instances returned by
  {@code Option.empty()}. There is no guarantee that it is a singleton.
  Instead, use {@link #isPresent()}.
  
  @param <T> Type of the non-existent value
  @return an empty {@code Optional}