public static <T> UnaryOperator<T> compose(Iterator<Function<T, T>> endodelegates) {
        return new UnaryOperatorsComposer<T>().apply(endodelegates);
    }
public static < T > UnaryOperator < T > compose ( Iterator < Function < T , T > > endodelegates ) { return new UnaryOperatorsComposer < T > ( ) . apply ( endodelegates ) ; }
Composes an iterator of endofunctions.

@param <T> the functions parameter and result type
@param endodelegates to be composed (e.g: f,g,h)
@return a function performing f ° g ° h