private static Class<?>[] getClasses(Object[] args) {

		Class<?>[] classes = new Class[args.length];
		for (int i = 0; i < args.length; i++) {
			classes[i] = args[i].getClass();
		}
		return classes;
	}
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.

<P><B>Warning: The exact class of each <CODE>arg</CODE> will be used as the class type
of the parameter for the method being called.  If the method you are calling takes 
parameters that do not match exactly the class of the args you wish to use, then 
call {@link #invokeInstanceMethod(String, Object, List, List)} instead so that you 
can specify the parameter types explicitly.
</B>

<P>If the method you are calling takes no parameters, then call 
{@link #invokeInstanceMethod(String, Object)} instead.

<P>This method is just a convenience for calling 
{@link #invokeInstanceMethod(String, Object, Class[], Object[])} when the method only
takes a single parameter, so that you don't have the ugliness of creating arrays as the
parameters for this method.

<P>As an example:
<PRE>
 	// The call below is equivalent to calling: <CODE> System.out.println("Hi")
	invokeInstanceMethod("println", System.out, "Hi");

	// This call is equivalent to the one above
	invokeInstanceMethod("println", System.out, Arrays.asList(String.class), Arrays.asList("Hi"));
	
	</CODE>
</PRE>

@param methodName The name of the method to execute.
@param ownerInstance The object instance of which the method will be
       executed.
@param args The parameter value that should be passed to the method.
@return The return value as returned from executing the method.
@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.
Ghidra/Framework/Generic/src/main/java/generic/test/TestUtils.java