public class MyStackWithCount extends Host.MyStack { //inner class to glom on the componenet. abstract class CountBase extends CountAPPC.CountComponent { public void expected_pushOp(Object passed) { expected_pushOn2(passed); } public Object expected_popOp() { return expected_popOff2(); } public Object get_host() { return MyStackWithCount.this; } public Object actual_popOp() {return expected_popOff2();} } CountBase c1 = new CountBase() { public void actual_pushOp(Object passed) { expected_pushOn2(passed); } }; CountBase c2 = new CountBase() { public void actual_pushOp(Object passed) { expected_pushTwice2(passed); } }; public void expected_pushOn2(Object passed) { super.pushOn(passed); } public void expected_pushTwice2(Object passed) { super.pushTwice(passed); } public Object expected_popOff2() { return super.popOff(); } // overridden new methods public void pushOn2(Object passed) { c1.pushOp(passed); } public void pushTwice2(Object passed) { c2.pushOp(passed); } public Object popOff2() { return c1.popOp(); } }