### Question:
TransposedPredicate implements BinaryPredicate<L, R> { public final boolean test(L left, R right) { return predicate.test(right, left); } TransposedPredicate(BinaryPredicate<? super R, ? super L> predicate); final boolean test(L left, R right); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static TransposedPredicate<R, L> transpose(BinaryPredicate<? super L, ? super R> p);  }### Answer:
@Test public void testEvaluate() throws Exception { BinaryPredicate<Boolean, Boolean> p = new TransposedPredicate<Boolean, Boolean>(BinaryFunctionBinaryPredicate .adapt(LeftIdentity.<Boolean, Boolean> function())); assertTrue(p.test(Boolean.FALSE,Boolean.TRUE)); assertFalse(p.test(Boolean.TRUE,Boolean.FALSE)); }