Invokes the target object using reflection. Subclasses can override the
invokeJoinpoint() method to change this behavior, so this is also
a useful base class for more specialized MethodInvocation implementations.

NOTE: This class is considered internal and should not be
directly accessed. The sole reason for it being public is compatibility
with existing framework integrations (e.g. Pitchfork). For any other
purposes, use the ProxyMethodInvocation interface instead.

interceptorsAndDynamicMethodMatchers - interceptors that should be applied,
along with any InterceptorAndDynamicMethodMatchers that need evaluation at runtime.
MethodMatchers included in this struct must already have been found to have matched
as far as was possibly statically. Passing an array might be about 10% faster,
but would complicate the code. And it would work only for static pointcuts.