public static Object doConstructorInvoke(CachedConstructor constructor, Object[] argumentArray) {
final Constructor constr = constructor.cachedConstructor;
argumentArray = constructor.coerceArgumentsToClasses(argumentArray);
try {
return constr.newInstance(argumentArray);
} catch (InvocationTargetException e) {
throw new InvokerInvocationException(e);
} catch (IllegalArgumentException e) {
throw createExceptionText("failed to invoke constructor: ", constr, argumentArray, e, false);
} catch (IllegalAccessException e) {
throw createExceptionText("could not access constructor: ", constr, argumentArray, e, false);
} catch (Exception e) {
throw createExceptionText("failed to invoke constructor: ", constr, argumentArray, e, true);
}
}