### Question:
RightBoundProcedure implements Procedure<A> { public void run(A obj) { procedure.run(obj, param); } @SuppressWarnings("unchecked") <R> RightBoundProcedure(BinaryProcedure<? super A, ? super R> procedure, R arg); void run(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static RightBoundProcedure<L> bind(BinaryProcedure<? super L, ? super R> procedure, R arg);  }### Answer:
@Test public void testRun() throws Exception { Procedure<Object> p = new RightBoundProcedure<Object>( new BinaryFunctionBinaryProcedure<Object, Object>(LeftIdentity.FUNCTION), "foo"); p.run(Boolean.TRUE); p.run(Boolean.FALSE); }