@Nullable
  public static Object invokeMethod(@Nullable Object target, Method method, @Nullable Object... args) {
    try {
      validateArguments(method, args);
      return method.invoke(target, args);
    } catch (IllegalAccessException e) {
      return ExceptionUtil.sneakyThrow(e);
    } catch (InvocationTargetException e) {
      return ExceptionUtil.sneakyThrow(e.getCause());
    }
  }
Returns the class file for the given class (which has been verified to exist in the returned location),
or null if the class file could not be found (e.g. because it is contained in a Jar).
spock-core/src/main/java/org/spockframework/util/ReflectionUtil.java