public static final <X, R extends X> Function<R,Boolean> or(final IFunction<X,Boolean> left, final IFunction<? super R,Boolean> right) {
        return new Or<X,R>(left, right);
    }
public static final < X , R extends X > Function < R , Boolean > or ( final IFunction < X , Boolean > left , final IFunction < ? super R , Boolean > right ) { return new Or < X , R > ( left , right ) ; }
<p>
Takes two boolean functions (<tt>Function&lt;?,Boolean&gt;</tt>) as
parameters and returns another one which returns true if any of the functions
returns true, and false if not.
</p>

@param left the left side of the "or" operation
@param right the right side of the "or" operation
@return a function returning true if any of the functions return true, and false if not.