foo_A foo_A foo_A foo_B privateRyan_D Received WrongMethodTypeException exception G.sayHi() G.sayHi() G.sayHi() F.sayHi() F.sayHi() H.chatter() H.chatter() H.chatter() Chatty.chatter() Chatty.chatter() String constructors done. testReturnValues done. testReferenceReturnValueConversions done. testPrimitiveReturnValueConversions done. Hi Hi Hi Hi Expect Hi here: Hi Don't expect Hi now [3, 2, 1] [1, 2, 3] Trying to call public abstract void java.util.function.Consumer.accept(java.lang.Object) Called accept with foo Trying to call public default java.util.function.Consumer java.util.function.Consumer.andThen(java.util.function.Consumer) Trying to call public abstract void java.util.function.Consumer.accept(java.lang.Object) Called accept with bar and then bar Ignoring and then Got hello Got hello there Called and then with hello there Got expected IAE when invoke-special on an abstract interface method