u = new WaitUnreachable(new XDerived() {});
test.setDerivedToBase((XDerived) u.get());
receive(test.getInterfaceFromBase());
receive(test.getBaseFromBase());
test.clearBase();
u.waitUnreachable();
u = new WaitUnreachable(new XDerived() {});
test.setDerivedToDerived((XDerived) u.get());
receive(test.getInterfaceFromDerived());
receive(test.getBaseFromDerived());