code: public static <T, C extends Collection<T>, R> Optional<R>
      getOptionalIfExist(C collection,
              Function<C, R> returnBuilderFunction) {
          return getOptional(collection).map(returnBuilderFunction);
      }
docs: Gets optional if exist.
  
  @param <T>                   the type parameter
  @param <C>                   the type parameter
  @param <R>                   the type parameter
  @param collection            the collection
  @param returnBuilderFunction the return builder function
  @return the optional if exist