public Object construct () throws InvocationTargetException {
		try {
			Object[] parameters = new Object[parameterValues.length];
			int i = 0;
			for (ParameterValue parameter : parameterValues) {
				if (parameter == null)
					throw new InvocationTargetException(new YamlException("Missing constructor property: " + parameterNames[i]));
				parameters[i++] = parameter.value;
			}
			Object object = constructor.newInstance(parameters);
			for (PropertyValue propertyValue : propertyValues)
				propertyValue.property.set(object, propertyValue.value);
			return object;
		} catch (Exception ex) {
			throw new InvocationTargetException(ex, "Error constructing instance of class: "
				+ constructor.getDeclaringClass().getName());
		}
	}