public static Object createNewObject(Constructor<?> con, RawData[] params) throws Throwable {
		Object newObject;
		Object[] input = new Object[params.length];
		for (int i = 0; i < params.length; i++) {
			input[i] = params[i].getRawObject();
		}
		try {
			newObject = con.newInstance(input);
		} catch (IllegalArgumentException e) {
			throw new IllegalArgumentException(e);
		} catch (InstantiationException e) {
			throw new InstantiationException(e.toString());
		} catch (IllegalAccessException e) {
			throw new IllegalAccessException(e.toString());
		} catch (InvocationTargetException e) {
			throw e.getCause();
		}
		return newObject;
	}