Have been rewriting my code on this test for a few hours now, when I
finally decided to step through the debugger
This line is what is throwing an assertion failure:
// Handler must have the same methods as Metadata, each method having
// additional "subclass-of-RelNode, RelMetadataQuery" parameters.
assert handlerMethods.length == methods.length;
The reason why is because JaCoCo adds a synthetic member $jacocoInit to the
interface:
https://stackoverflow.com/questions/58089528/jacoco-is-adding-a-jacocoinit-method-in-my-interface-when-running-unit-tests
I think the solution is to check whether the methods are synthetic here but
I'm not familiar enough with Java to be honest