private void readProperty(String propertyKey, Field field,
			Properties properties) {
		String value = properties.getProperty(propertyKey);
		if (value == null)
			return;

		try {
			Class<?> type = field.getType();
			if (type.equals(int.class))
				field.setInt(this, Integer.parseInt(value));

			else if (type.equals(boolean.class))
				field.setBoolean(this, Boolean.parseBoolean(value));

			else if (type.equals(double.class))
				field.setDouble(this, Double.parseDouble(value));

			else if (type.equals(String.class))
				field.set(this, value);

			else
				throw new Exception("Unsupported field class: " + type);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}