code: public Object get(Object pKey) {
  
      //System.out.println("get(" + pKey + "): " + super.get(pKey));
      Object value = super.get(pKey);
  
      // ---
      if ((value != null) && (value instanceof Date)) {  // Hmm.. This is true for subclasses too...
  
        // Special threatment of Date
        String format = getPropertyFormat(StringUtil.valueOf(pKey));
  
        if (format != null) {
          value = new SimpleDateFormat(format).format(value);
        } else {
          value = sDefaultFormat.format(value);
        }
        return value;
      }
  
      // ---
      // Simply return value
      return StringUtil.valueOf(value);
    }
docs: Overloaded get method, that <EM>always returns Strings</EM>.
  Due to the way the store and list methods of
  java.util.Properties works (it calls get and casts to String, instead
  of calling getProperty), this methods returns
  StringUtil.valueOf(super.get), to avoid ClassCastExcpetions.
  <P/>
  <SMALL>If you need the old functionality back,
  getPropertyValue returns super.get directly.
  A cleaner approach would be to override the list and store
  methods, but it's too much work for nothing...</SMALL>
  
  @param pKey a key in this hashtable
  
  @return the value to which the key is mapped in this hashtable,
  converted to a string; null if the key is not mapped to any value in
  this hashtable.
  
  @see #getPropertyValue(String)
  @see Properties#getProperty(String)
  @see Hashtable#get(Object)
  @see StringUtil#valueOf(Object)