SomeSubClassInAnotherPackage.pleaseCallm(new SomeSubSubClassInAnotherPackage()));
assertEquals("ClassExposingM",
aCaller.callPackagePrivatem(new ClassExposingM()));
SomeInterface i = new ClassExposingM();
assertEquals("ClassExposingM", i.m());
assertEquals("live at ClassExposingM", new ClassExposingM().f());
// Confirm that both calling m through SomeInterface and through SomeParentParentParent
// dispatch to the right implementation.
SomeInterface i1 = new SubClassExposingM();
assertEquals("SubClassExposingM", i1.m());
assertEquals("SubClassExposingM",
SomeParentParentParent.callSomeParentParentParentM(new SubClassExposingM()));
assertEquals("SomeParentParentParent",