public static <T1, T2, T3> Procedure2<T1, T3> bind(
            Procedure2<? super T2, T3> delegate, Function<? super T1, T2> function)
    {
        return new BindProcedure2<T1, T2, T3>(delegate, function);
    }
public static < T1 , T2 , T3 > Procedure2 < T1 , T3 > bind ( Procedure2 < ? super T2 , T3 > delegate , Function < ? super T1 , T2 > function ) { return new BindProcedure2 < T1 , T2 , T3 > ( delegate , function ) ; }
Bind the input of the first argument of a Procedure2 to the result of an function, returning a new Procedure2.

@param delegate The Procedure2 to delegate the invocation to.
@param function The Function that will create the input for the delegate
@return A new Procedure2