code: public String getProperty(String category, String key, String defaultValue) {
  		category = (this.compressedSpaces ? category.replaceAll("\\s+", " ") : category).trim();
  		if (Strings.isNullOrEmpty(category)) category = "Main";
  		key = (this.compressedSpaces ? key.replaceAll("\\s+", " ") : key).trim().replace(" ", "_");
  		try {
  			return this.categories.get(category).get(key).replace("_", " ");
  		} catch (NullPointerException e) {
  			return defaultValue;
  		}
  	}
docs: Gets a property
  
  @param category     The category in which the property is
  @param key          The key of the property
  @param defaultValue If the property couldn't be found, this will be returned
  @return The value associated with {@code key} in {@code category}, or {@code defaultValue} if not found