sO invokeConstructorWithWidening(Constructor m, O... args) ctex { try { Class[] types = m.getParameterTypes(); int n = types.length; O[] args2 = new[n]; for i to n: args2[i] = convertPrimitiveIfNecessary(args[i], types[i]); ret invokeConstructor(m, args2); } catch (InvocationTargetException e) { throw rethrow(getExceptionCause(e)); } }