@SuppressWarnings({ "unchecked", "rawtypes" })
	protected Object convert(Object oldObject, String property) {
		Object result = oldObject;
		Class<?> type = propertyTypes.get(property);
		if (type.isEnum()) {
			result = Enum.valueOf((Class<Enum>) type, (String) oldObject);
		}

		if (type.equals(BigInteger.class)) {
			result = new BigInteger((oldObject).toString());
		}

		if (type.equals(BigDecimal.class) || type.equals(Number.class)) {
			result = new BigDecimal((oldObject).toString());
		}

		return result;
	}