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