test_class.declarator: just
test_class.original_string: OptionT<Witness.optional,Integer> just;
test_class.type: OptionT<Witness.optional,Integer>
test_class.var_name: just
test_class.declarator: none
test_class.original_string: OptionT<Witness.optional,Integer> none;
test_class.type: OptionT<Witness.optional,Integer>
test_class.var_name: none
test_class.declarator: one
test_class.original_string: OptionT<Witness.optional,Integer> one;
test_class.type: OptionT<Witness.optional,Integer>
test_class.var_name: one
test_class.file: cyclops-anym/src/test/java/cyclops/monads/transformers/OptionTTest.java
test_class.identifier: OptionTTest
test_class.interfaces: implements Printable
test_case.body: @Test
  	public void testFilter() {
  
  		assertFalse(just.filter(i->i<5).isPresent());
  		assertTrue(just.filter(i->i>5).isPresent());
  		assertFalse(none.filter(i->i<5).isPresent());
  		assertFalse(none.filter(i->i>5).isPresent());
  
  	}
test_case.class_method_signature: OptionTTest.testFilter()
test_case.full_signature: @Test public void testFilter()
test_case.identifier: testFilter
test_case.invocations: assertFalse isPresent filter assertTrue isPresent filter assertFalse isPresent filter assertFalse isPresent filter
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFilter()
focal_class.declarator: run
focal_class.modifier: private final
focal_class.original_string: private final AnyM<W,Option<T>> run;
focal_class.type: AnyM<W,Option<T>>
focal_class.var_name: run
focal_class.file: cyclops-anym/src/main/java/cyclops/monads/transformers/OptionT.java
focal_class.identifier: OptionT
focal_class.interfaces: implements To<OptionT<W,T>>,
                                                                    Transformable<T>,
                                                                    Filters<T>
focal_class.class_method_signature: OptionT.iterator()
focal_class.full_signature: @Override public Iterator<T> iterator()
focal_class.identifier: iterator
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Iterator<T>
focal_class.signature: Iterator<T> iterator()
focal_class.class_method_signature: OptionT.stream()
focal_class.full_signature: @Override public ReactiveSeq<T> stream()
focal_class.identifier: stream
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ReactiveSeq<T>
focal_class.signature: ReactiveSeq<T> stream()
focal_class.class_method_signature: OptionT.unwrap()
focal_class.full_signature: @Override public AnyM<W,Option<T>> unwrap()
focal_class.identifier: unwrap
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: AnyM<W,Option<T>>
focal_class.signature: AnyM<W,Option<T>> unwrap()
focal_class.class_method_signature: OptionT.unwrapTo(Function<? super AnyM<W,Option<T>>, ? extends R> fn)
focal_class.full_signature: public R unwrapTo(Function<? super AnyM<W,Option<T>>, ? extends R> fn)
focal_class.identifier: unwrapTo
focal_class.modifiers: public
focal_class.parameters: (Function<? super AnyM<W,Option<T>>, ? extends R> fn)
focal_class.return: R
focal_class.signature: R unwrapTo(Function<? super AnyM<W,Option<T>>, ? extends R> fn)
focal_class.class_method_signature: OptionT.OptionT(final AnyM<W,Option<T>> run)
focal_class.full_signature: private  OptionT(final AnyM<W,Option<T>> run)
focal_class.identifier: OptionT
focal_class.modifiers: private
focal_class.parameters: (final AnyM<W,Option<T>> run)
focal_class.signature:  OptionT(final AnyM<W,Option<T>> run)
focal_class.class_method_signature: OptionT.unitAnyM(AnyM<W,? super MonadicValue<R>> traversable)
focal_class.full_signature: @Override @Deprecated (/*DO NOT USE INTERNAL USE ONLY*/) protected OptionT<W,R> unitAnyM(AnyM<W,? super MonadicValue<R>> traversable)
focal_class.identifier: unitAnyM
focal_class.modifiers: @Override @Deprecated (/*DO NOT USE INTERNAL USE ONLY*/) protected
focal_class.parameters: (AnyM<W,? super MonadicValue<R>> traversable)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> unitAnyM(AnyM<W,? super MonadicValue<R>> traversable)
focal_class.class_method_signature: OptionT.transformerStream()
focal_class.full_signature: @Override public AnyM<W,? extends MonadicValue<T>> transformerStream()
focal_class.identifier: transformerStream
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: AnyM<W,? extends MonadicValue<T>>
focal_class.signature: AnyM<W,? extends MonadicValue<T>> transformerStream()
focal_class.class_method_signature: OptionT.filter(final Predicate<? super T> test)
focal_class.full_signature: @Override public OptionT<W,T> filter(final Predicate<? super T> test)
focal_class.identifier: filter
focal_class.modifiers: @Override public
focal_class.parameters: (final Predicate<? super T> test)
focal_class.return: OptionT<W,T>
focal_class.signature: OptionT<W,T> filter(final Predicate<? super T> test)
focal_class.class_method_signature: OptionT.peek(final Consumer<? super T> peek)
focal_class.full_signature: @Override public OptionT<W,T> peek(final Consumer<? super T> peek)
focal_class.identifier: peek
focal_class.modifiers: @Override public
focal_class.parameters: (final Consumer<? super T> peek)
focal_class.return: OptionT<W,T>
focal_class.signature: OptionT<W,T> peek(final Consumer<? super T> peek)
focal_class.class_method_signature: OptionT.map(final Function<? super T, ? extends B> f)
focal_class.full_signature: @Override public OptionT<W,B> map(final Function<? super T, ? extends B> f)
focal_class.identifier: map
focal_class.modifiers: @Override public
focal_class.parameters: (final Function<? super T, ? extends B> f)
focal_class.return: OptionT<W,B>
focal_class.signature: OptionT<W,B> map(final Function<? super T, ? extends B> f)
focal_class.class_method_signature: OptionT.flatMapT(final Function<? super T, OptionT<W,B>> f)
focal_class.full_signature: public OptionT<W,B> flatMapT(final Function<? super T, OptionT<W,B>> f)
focal_class.identifier: flatMapT
focal_class.modifiers: public
focal_class.parameters: (final Function<? super T, OptionT<W,B>> f)
focal_class.return: OptionT<W,B>
focal_class.signature: OptionT<W,B> flatMapT(final Function<? super T, OptionT<W,B>> f)
focal_class.class_method_signature: OptionT.narrow(final AnyM<W,Option<? extends B>> run)
focal_class.full_signature: private static AnyM<W,Option<B>> narrow(final AnyM<W,Option<? extends B>> run)
focal_class.identifier: narrow
focal_class.modifiers: private static
focal_class.parameters: (final AnyM<W,Option<? extends B>> run)
focal_class.return: AnyM<W,Option<B>>
focal_class.signature: AnyM<W,Option<B>> narrow(final AnyM<W,Option<? extends B>> run)
focal_class.class_method_signature: OptionT.flatMap(final Function<? super T, ? extends Option<? extends B>> f)
focal_class.full_signature: public OptionT<W,B> flatMap(final Function<? super T, ? extends Option<? extends B>> f)
focal_class.identifier: flatMap
focal_class.modifiers: public
focal_class.parameters: (final Function<? super T, ? extends Option<? extends B>> f)
focal_class.return: OptionT<W,B>
focal_class.signature: OptionT<W,B> flatMap(final Function<? super T, ? extends Option<? extends B>> f)
focal_class.class_method_signature: OptionT.lift(final Function<? super U, ? extends R> fn)
focal_class.full_signature: public static Function<OptionT<W,U>, OptionT<W,R>> lift(final Function<? super U, ? extends R> fn)
focal_class.identifier: lift
focal_class.modifiers: public static
focal_class.parameters: (final Function<? super U, ? extends R> fn)
focal_class.return: Function<OptionT<W,U>, OptionT<W,R>>
focal_class.signature: Function<OptionT<W,U>, OptionT<W,R>> lift(final Function<? super U, ? extends R> fn)
focal_class.class_method_signature: OptionT.lift2(
              final BiFunction<? super U1, ? super U2, ? extends R> fn)
focal_class.full_signature: public static BiFunction<OptionT<W,U1>, OptionT<W,U2>, OptionT<W,R>> lift2(
              final BiFunction<? super U1, ? super U2, ? extends R> fn)
focal_class.identifier: lift2
focal_class.modifiers: public static
focal_class.parameters: (
              final BiFunction<? super U1, ? super U2, ? extends R> fn)
focal_class.return: BiFunction<OptionT<W,U1>, OptionT<W,U2>, OptionT<W,R>>
focal_class.signature: BiFunction<OptionT<W,U1>, OptionT<W,U2>, OptionT<W,R>> lift2(
              final BiFunction<? super U1, ? super U2, ? extends R> fn)
focal_class.class_method_signature: OptionT.fromAnyM(final AnyM<W,A> anyM)
focal_class.full_signature: public static OptionT<W,A> fromAnyM(final AnyM<W,A> anyM)
focal_class.identifier: fromAnyM
focal_class.modifiers: public static
focal_class.parameters: (final AnyM<W,A> anyM)
focal_class.return: OptionT<W,A>
focal_class.signature: OptionT<W,A> fromAnyM(final AnyM<W,A> anyM)
focal_class.class_method_signature: OptionT.of(final AnyM<W,Option<A>> monads)
focal_class.full_signature: public static OptionT<W,A> of(final AnyM<W,Option<A>> monads)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final AnyM<W,Option<A>> monads)
focal_class.return: OptionT<W,A>
focal_class.signature: OptionT<W,A> of(final AnyM<W,Option<A>> monads)
focal_class.class_method_signature: OptionT.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: OptionT.unitIterable(final Iterable<R> it)
focal_class.full_signature: public OptionT<W,R> unitIterable(final Iterable<R> it)
focal_class.identifier: unitIterable
focal_class.modifiers: public
focal_class.parameters: (final Iterable<R> it)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> unitIterable(final Iterable<R> it)
focal_class.class_method_signature: OptionT.unit(final R value)
focal_class.full_signature: @Override public OptionT<W,R> unit(final R value)
focal_class.identifier: unit
focal_class.modifiers: @Override public
focal_class.parameters: (final R value)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> unit(final R value)
focal_class.class_method_signature: OptionT.empty()
focal_class.full_signature: @Override public OptionT<W,R> empty()
focal_class.identifier: empty
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> empty()
focal_class.class_method_signature: OptionT.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: OptionT.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: OptionT.iterate(UnaryOperator<T> fn, T alt)
focal_class.full_signature: @Override public AnyM<W, ? extends ReactiveSeq<T>> iterate(UnaryOperator<T> fn, T alt)
focal_class.identifier: iterate
focal_class.modifiers: @Override public
focal_class.parameters: (UnaryOperator<T> fn, T alt)
focal_class.return: AnyM<W, ? extends ReactiveSeq<T>>
focal_class.signature: AnyM<W, ? extends ReactiveSeq<T>> iterate(UnaryOperator<T> fn, T alt)
focal_class.class_method_signature: OptionT.generate(T alt)
focal_class.full_signature: @Override public AnyM<W, ? extends ReactiveSeq<T>> generate(T alt)
focal_class.identifier: generate
focal_class.modifiers: @Override public
focal_class.parameters: (T alt)
focal_class.return: AnyM<W, ? extends ReactiveSeq<T>>
focal_class.signature: AnyM<W, ? extends ReactiveSeq<T>> generate(T alt)
focal_class.class_method_signature: OptionT.zip(Iterable<? extends T2> iterable,
                                       BiFunction<? super T, ? super T2, ? extends R> fn)
focal_class.full_signature: @Override public OptionT<W, R> zip(Iterable<? extends T2> iterable,
                                       BiFunction<? super T, ? super T2, ? extends R> fn)
focal_class.identifier: zip
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends T2> iterable,
                                       BiFunction<? super T, ? super T2, ? extends R> fn)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> zip(Iterable<? extends T2> iterable,
                                       BiFunction<? super T, ? super T2, ? extends R> fn)
focal_class.class_method_signature: OptionT.zip(BiFunction<? super T, ? super T2, ? extends R> fn, Publisher<? extends T2> publisher)
focal_class.full_signature: @Override public OptionT<W, R> zip(BiFunction<? super T, ? super T2, ? extends R> fn, Publisher<? extends T2> publisher)
focal_class.identifier: zip
focal_class.modifiers: @Override public
focal_class.parameters: (BiFunction<? super T, ? super T2, ? extends R> fn, Publisher<? extends T2> publisher)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> zip(BiFunction<? super T, ? super T2, ? extends R> fn, Publisher<? extends T2> publisher)
focal_class.class_method_signature: OptionT.zip(Iterable<? extends U> other)
focal_class.full_signature: @Override public OptionT<W, Tuple2<T, U>> zip(Iterable<? extends U> other)
focal_class.identifier: zip
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends U> other)
focal_class.return: OptionT<W, Tuple2<T, U>>
focal_class.signature: OptionT<W, Tuple2<T, U>> zip(Iterable<? extends U> other)
focal_class.class_method_signature: OptionT.forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.identifier: forEach4
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.identifier: forEach4
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach4(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends MonadicValue<R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.identifier: forEach3
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.identifier: forEach3
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach3(Function<? super T, ? extends MonadicValue<R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends MonadicValue<R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.identifier: forEach2
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.full_signature: @Override public OptionT<W, R> forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.identifier: forEach2
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> forEach2(Function<? super T, ? extends MonadicValue<R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.concatMap(Function<? super T, ? extends Iterable<? extends R>> mapper)
focal_class.full_signature: @Override public OptionT<W, R> concatMap(Function<? super T, ? extends Iterable<? extends R>> mapper)
focal_class.identifier: concatMap
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends Iterable<? extends R>> mapper)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> concatMap(Function<? super T, ? extends Iterable<? extends R>> mapper)
focal_class.class_method_signature: OptionT.mergeMap(Function<? super T, ? extends Publisher<? extends R>> mapper)
focal_class.full_signature: @Override public OptionT<W, R> mergeMap(Function<? super T, ? extends Publisher<? extends R>> mapper)
focal_class.identifier: mergeMap
focal_class.modifiers: @Override public
focal_class.parameters: (Function<? super T, ? extends Publisher<? extends R>> mapper)
focal_class.return: OptionT<W, R>
focal_class.signature: OptionT<W, R> mergeMap(Function<? super T, ? extends Publisher<? extends R>> mapper)
focal_class.class_method_signature: OptionT.forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.identifier: forEach4M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.identifier: forEach4M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach4M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                        BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                        Function3<? super T, ? super R1, ? super R2, ? extends OptionT<W,R3>> value3,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, Boolean> filterFunction,
                                                        Function4<? super T, ? super R1, ? super R2, ? super R3, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.identifier: forEach3M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.identifier: forEach3M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach3M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                                    BiFunction<? super T, ? super R1, ? extends OptionT<W,R2>> value2,
                                                    Function3<? super T, ? super R1, ? super R2, Boolean> filterFunction,
                                                    Function3<? super T, ? super R1, ? super R2, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.identifier: forEach2M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.full_signature: public OptionT<W,R> forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.identifier: forEach2M
focal_class.modifiers: public
focal_class.parameters: (Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> forEach2M(Function<? super T, ? extends OptionT<W,R1>> value1,
                                            BiFunction<? super T, ? super R1, Boolean> filterFunction,
                                            BiFunction<? super T, ? super R1, ? extends R> yieldingFunction)
focal_class.class_method_signature: OptionT.mkString()
focal_class.full_signature: public String mkString()
focal_class.identifier: mkString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String mkString()
focal_class.class_method_signature: OptionT.ofType(Class<? extends U> type)
focal_class.full_signature: @Override public OptionT<W,U> ofType(Class<? extends U> type)
focal_class.identifier: ofType
focal_class.modifiers: @Override public
focal_class.parameters: (Class<? extends U> type)
focal_class.return: OptionT<W,U>
focal_class.signature: OptionT<W,U> ofType(Class<? extends U> type)
focal_class.class_method_signature: OptionT.filterNot(Predicate<? super T> predicate)
focal_class.full_signature: @Override public OptionT<W,T> filterNot(Predicate<? super T> predicate)
focal_class.identifier: filterNot
focal_class.modifiers: @Override public
focal_class.parameters: (Predicate<? super T> predicate)
focal_class.return: OptionT<W,T>
focal_class.signature: OptionT<W,T> filterNot(Predicate<? super T> predicate)
focal_class.class_method_signature: OptionT.notNull()
focal_class.full_signature: @Override public OptionT<W,T> notNull()
focal_class.identifier: notNull
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: OptionT<W,T>
focal_class.signature: OptionT<W,T> notNull()
focal_class.class_method_signature: OptionT.zipWithPublisher(Publisher<? extends U> other)
focal_class.full_signature: @Override public OptionT<W,Tuple2<T, U>> zipWithPublisher(Publisher<? extends U> other)
focal_class.identifier: zipWithPublisher
focal_class.modifiers: @Override public
focal_class.parameters: (Publisher<? extends U> other)
focal_class.return: OptionT<W,Tuple2<T, U>>
focal_class.signature: OptionT<W,Tuple2<T, U>> zipWithPublisher(Publisher<? extends U> other)
focal_class.class_method_signature: OptionT.zip3(Iterable<? extends S> second, Iterable<? extends U> third)
focal_class.full_signature: @Override public OptionT<W,Tuple3<T, S, U>> zip3(Iterable<? extends S> second, Iterable<? extends U> third)
focal_class.identifier: zip3
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends S> second, Iterable<? extends U> third)
focal_class.return: OptionT<W,Tuple3<T, S, U>>
focal_class.signature: OptionT<W,Tuple3<T, S, U>> zip3(Iterable<? extends S> second, Iterable<? extends U> third)
focal_class.class_method_signature: OptionT.zip3(Iterable<? extends S> second, Iterable<? extends U> third, Function3<? super T, ? super S, ? super U, ? extends R> fn3)
focal_class.full_signature: @Override public OptionT<W,R> zip3(Iterable<? extends S> second, Iterable<? extends U> third, Function3<? super T, ? super S, ? super U, ? extends R> fn3)
focal_class.identifier: zip3
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends S> second, Iterable<? extends U> third, Function3<? super T, ? super S, ? super U, ? extends R> fn3)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> zip3(Iterable<? extends S> second, Iterable<? extends U> third, Function3<? super T, ? super S, ? super U, ? extends R> fn3)
focal_class.class_method_signature: OptionT.zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth)
focal_class.full_signature: @Override public OptionT<W,Tuple4<T, T2, T3, T4>> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth)
focal_class.identifier: zip4
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth)
focal_class.return: OptionT<W,Tuple4<T, T2, T3, T4>>
focal_class.signature: OptionT<W,Tuple4<T, T2, T3, T4>> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth)
focal_class.class_method_signature: OptionT.zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn)
focal_class.full_signature: @Override public OptionT<W,R> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn)
focal_class.identifier: zip4
focal_class.modifiers: @Override public
focal_class.parameters: (Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn)
focal_class.return: OptionT<W,R>
focal_class.signature: OptionT<W,R> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn)
focal_class.superclass: extends ValueTransformer<W,T>
focal_method.body: @Override
      public OptionT<W,T> filter(final Predicate<? super T> test) {
          return of(run.map(f->f.map(in->Tuple.tuple(in,test.test(in))))
                       .filter( f->f.fold(t->t._2(),()->false) )
                       .map( f->f.map(in->in._1())));
      }
focal_method.class_method_signature: OptionT.filter(final Predicate<? super T> test)
focal_method.full_signature: @Override public OptionT<W,T> filter(final Predicate<? super T> test)
focal_method.identifier: filter
focal_method.invocations: of map filter map map tuple test fold _2 map _1
focal_method.modifiers: @Override public
focal_method.parameters: (final Predicate<? super T> test)
focal_method.return: OptionT<W,T>
focal_method.signature: OptionT<W,T> filter(final Predicate<? super T> test)