private static @NotNull Object invokeConstructor(Constructor<?> constructor, Object[] transformedArgs) throws Exception {
    try {
      return constructor.newInstance(transformedArgs);
    }
    catch (IllegalArgumentException ie) {
      String message = "Argument type mismatch for constructor " + constructor + " , actual types are [" +
                       getExpectedTypesMessage(transformedArgs) + "]";
      LOG.warn(message, ie);

      throw new IllegalArgumentException(message, ie);
    }
    catch (Throwable e) {
      LOG.warn("Error during remote driver call " + constructor, e);

      throw e;
    }
  }
private static @NotNull Object invokeConstructor(Constructor<?> constructor, Object[] transformedArgs)