public static void setInstanceField(String fieldName, Object ownerInstance, Object value)
			throws RuntimeException {
		if (ownerInstance == null) {
			throw new NullPointerException("Owner of instance field cannot be null");
		}

		Class<?> objectClass =
			(ownerInstance instanceof Class) ? (Class<?>) ownerInstance : ownerInstance.getClass();
		try {
			// get the field from the class object 
			Field field = ReflectionUtilities.locateFieldObjectOnClass(fieldName, objectClass);

			// open up the field so that we have access
			field.setAccessible(true);

			// set the field from the object instance that we were provided
			field.set(ownerInstance, value);
		}
		catch (Exception e) {
			throw new RuntimeException("Unable to use reflection to obtain " + "field: " +
				fieldName + " from class: " + objectClass, e);
		}
	}
Sets the instance field by the given name on the given object 
instance.  
<p>
Note: if the field is static, then the <code>ownerInstance</code> field 
can be the class of the object that contains the variable.

@param  fieldName The name of the field to retrieve.
@param  ownerInstance The object instance from which to get the 
        variable instance.
@param  value The value to use when setting the given field
@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.
@see    Field#set(Object, Object)
Ghidra/Framework/Generic/src/main/java/generic/test/TestUtils.java