public static <T1, T2> FluentFunctions.FluentBiFunction<T1, T2, Tuple2<T1, T2>> checkedExpression(final CheckedBiConsumer<T1, T2> action) {
        final BiConsumer<T1, T2> toUse = ExceptionSoftener.softenBiConsumer(action);
        return FluentFunctions.of((t1, t2) -> {
            toUse.accept(t1, t2);
            return Tuple.tuple(t1, t2);
        });
    }
public static < T1 , T2 > FluentFunctions . FluentBiFunction < T1 , T2 , Tuple2 < T1 , T2 > > checkedExpression ( final CheckedBiConsumer < T1 , T2 > action ) { final BiConsumer < T1 , T2 > toUse = ExceptionSoftener . softenBiConsumer ( action ) ; return FluentFunctions . of ( ( t1 , t2 ) -> { toUse . accept ( t1 , t2 ) ; return Tuple . tuple ( t1 , t2 ) ; } ) ; }
Convert a CheckedBiConsumer into a FluentBiConsumer that returns it's input in a tuple

<pre>
{@code
public void printTwo(String input1,String input2) throws IOException{
System.out.println(input1);
System.out.println(input2);
}

FluentFunctions.checkedExpression(this::printTwo)
.applyHKT("hello","world");

returns Tuple2["hello","world"]
}
</pre>
@param action
@return