code: public String getProperty(String pKey, String pDefaultValue) {
  
      // Had to override this because Properties uses super.get()...
      String value = (String) get(pKey);  // Safe cast, see get(Object)
  
      if (value != null) {
        return value;
      }
      return ((defaults != null)
              ? defaults.getProperty(pKey)
              : pDefaultValue);
    }
docs: Searches for the property with the specified key in this property list.
  If the key is not found in this property list, the default property list,
  and its defaults, recursively, are then checked. The method returns the
  default value argument if the property is not found.
  
  @param   pKey            the hashtable key.
  @param   pDefaultValue   a default value.
  
  @return  the value in this property list with the specified key value.
  @see     #setProperty
  @see     #defaults