public static Object invokeInstanceMethod(String methodName, Object ownerInstance,
			Class<?>[] parameterTypes, Object[] args) throws RuntimeException {

		return TestUtils.invokeInstanceMethod(methodName, ownerInstance, parameterTypes, args);
	}
Uses reflection to execute the method denoted by the given method name. If any value is
returned from the method execution, then it will be returned from this method. Otherwise,
<code>null</code> is returned.
<p>
Note: if the method is static, then the <code>ownerInstance</code> field can be the class of
the object that contains the method.

@param methodName The name of the method to execute.
@param ownerInstance The object instance of which the method will be executed.
@param parameterTypes The parameter <b>types</b> that the method takes.
@param args The parameter values that should be passed to the method. This value can be null
           or zero length if there are no parameters to pass
@return The return value as returned from executing the method.
@see Method#invoke(java.lang.Object, java.lang.Object[])
@throws RuntimeException if there is a problem accessing the field using reflection. A
            RuntimeException is used so that calling tests can avoid using a try/catch block,
            but will still fail when an error is encountered.
@since Tracker Id 267
Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGenericTest.java