code: private static void unwrapArgs(final Class<?>[] types, final Object[] args) {
          if (args == null) {
              return;
          }
          try {
              for (int i = 0; i < args.length; ++i) {
                  args[i] = ReflectionHelper.unwrap(types[i], args[i]);
              }
          } catch (Exception e) {
              throw new IllegalArgumentException(e);
          }
  
      }
docs: If parameter is instance of Callable or Supplier then resolve its value.
  
  @param args
  @param args2