code: public Object getProperty(P property) throws PropertyException{
  //		System.out.println("Getting property value " + property.getPropertyCharacteristics().getName());
  		String propertyValueAsString = props.getProperty(property.getPropertyCharacteristics().getName());
  //		System.out.println("Property value as string:" + propertyValueAsString);
  		if(propertyValueAsString == null){
  			if(property.getPropertyCharacteristics().isMandatory())
  				throw new PropertyException(property, propertyValueAsString, "No entry for mandatory property");
  			return null;
  		}
  		return getPropertyValueFromString(property, propertyValueAsString);
  	}
docs: Extracts the value of the given property.<br>
  
  @param property The property whose value is requested.
  @return The property value or <code>null</code> in case there is no entry for the property.
  @note Note, that for mandatory properties an exception will be thrown in case no corresponding entry can be found.
  @throws PropertyException in case no entry for a mandatory property can be found.
  @see #getPropertyValueFromString(Enum, String)