private synchronized void enumerateStringProperties(Hashtable<String,String> h){
  if (defaults != null) {
    defaults.enumerateStringProperties(h);
  }
  for (Enumeration<?> e=keys(); e.hasMoreElements(); ) {
    Object k=e.nextElement();
    Object v=get(k);
    if (k instanceof String && v instanceof String) {
      h.put((String)k,(String)v);
    }
  }
}

private synchronized void enumerateStringProperties ( Hashtable < String , String > h ) { if ( defaults != null ) { defaults . enumerateStringProperties ( h ) ; } for ( Enumeration < ? > e = keys ( ) ; e . hasMoreElements ( ) ; ) { Object k = e . nextElement ( ) ; Object v = get ( k ) ; if ( k instanceof String && v instanceof String ) { h . put ( ( String ) k , ( String ) v ) ; } } }
enumerates all key / value pairs in the specified hashtable and omits the property if the key or value is not a string .
