public static <T, M, E extends Exception> boolean swapIf(final Triple<T, M, T> triple, Try.Predicate<? super Triple<T, M, T>, E> predicate) throws E {
        if (predicate.test(triple)) {
            final T left = triple.left;
            triple.setLeft(triple.right);
            triple.setRight(left);
            return true;
        }

        return false;
    }
public static < T , M , E extends Exception > boolean swapIf ( final Triple < T , M , T > triple , Try . Predicate < ? super Triple < T , M , T > , E > predicate ) throws E { if ( predicate . test ( triple ) ) { final T left = triple . left ; triple . setLeft ( triple . right ) ; triple . setRight ( left ) ; return true ; } return false ; }
@param triple
@param predicate
@return
@throws NullPointerExceptoin if the specified {@code triple} or {@code predicate} is {@code null}.
@throws E