### Question:
RightBoundFunction implements Function<A, T> { public T evaluate(A obj) { return function.evaluate(obj, param); } @SuppressWarnings("unchecked") <R> RightBoundFunction(BinaryFunction<? super A, ? super R, ? extends T> function, R arg); T evaluate(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static RightBoundFunction<L, T> bind(BinaryFunction<? super L, ? super R, ? extends T> function,
                                                          R arg);  }### Answer:
@Test public void testEvaluate() throws Exception { Function<String, String> f = RightBoundFunction.bind(LeftIdentity.<String, String>function(),"foo"); assertEquals("xyzzy",f.evaluate("xyzzy")); }