### Question:
BinaryProcedureProcedure implements Procedure<A> { public void run(A obj) { procedure.run(obj, obj); } BinaryProcedureProcedure(BinaryProcedure<? super A, ? super A> procedure); void run(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static Procedure<A> adapt(BinaryProcedure<? super A, ? super A> procedure);  }### Answer:
@Test public void testRun() throws Exception { Procedure<Object> p = new BinaryProcedureProcedure<Object>(NoOp.INSTANCE); p.run(null); }