getMatchingAccessibleMethod

Finds an accessible method that matches the given name and has compatible parameters.
Compatible parameters mean that every method parameter is assignable from the given parameters.
In other words, it finds a method with the given name that will take the parameters given.

This method can match primitive parameter by passing in wrapper classes. For example, a
Boolean will match a primitive boolean parameter.