private static Object @Nullable [] fixArgs(Object @Nullable [] args, @NotNull Method method) {
    if (args == null) return null;
    if (method.getParameterCount() != args.length) return args;
    Object[] result = new Object[args.length];
    try {
      Class<?>[] methodArgs = method.getParameterTypes();
      for (int i = 0; i < args.length; i++) {
        result[i] = fixArg(args[i], methodArgs[i]);
      }
    }
    catch (Exception e) {
      return args;
    }
    return result;
  }
private static Object @Nullable [] fixArgs(Object @Nullable [] args, @NotNull Method method)