docs: public static <S,T> Optional<T> collect(Optional<S> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure<T> transform) {
          Objects.requireNonNull(self);
          Objects.requireNonNull(transform);
          if (!self.isPresent()) {
              return self.empty();
          }
          return Optional.ofNullable(transform.call(self.get()));
      }