code: public <A> JFeatureSpec<T> optional(final SerializableFunction<T, Optional<A>> f,
                                        final Transformer<A, ?, ?> t) {
      Function1<T, Option<A>> g = JavaOps.optionalFn(f);
      Option<A> o = Option.empty();
      return wrap(self.optional(g, o, t));
    }
docs: Java wrapper for {@link FeatureSpec#optional(Function1, Transformer)}.