code: public static <K, V, M extends Map<K, V>> Optional<M> getOptional(M map) {
          return Optional.ofNullable(map).filter(m -> m.size() > 0);
      }
docs: Gets optional.
  
  @param <K> the type parameter
  @param <V> the type parameter
  @param <M> the type parameter
  @param map the map
  @return the optional