Pair<Object[], Closure> split = splitClosure(args);
MetaClass metaclass = InvokerHelper.getMetaClass(type);
Object obj;
try {
obj = metaclass.invokeConstructor(split.getLeft());
} catch (GroovyRuntimeException e) {
Throwables.propagateIfInstanceOf(e.getCause(), NoSuchMethodException.class);
throw e;
}