if(null != in.get(lower)) {
Object lowerVal = in.get(lower); if(null != lowerVal) {
  static public Hashtable copyDictionary(Dictionary in) {    if(in == null) {      return null;    }    Hashtable out = new Hashtable();    Enumeration keys = in.keys();    while(keys.hasMoreElements()) {      Object key = keys.nextElement();      Object val = copyValue(in.get(key));      // The R3 tests prefers keys with different case to be      // silently unified. We really prefer IllegalArgumentException      String s     = (String)key;      String lower = s.toLowerCase();      if(!s.equals(lower)) {	if(null != in.get(lower)) {	  if(Activator.r3TestCompliant()) {	    key = lower;	  } else {	    throw new IllegalArgumentException("same key exists with different case: " + key + "/" + lower);	  }	}      }      out.put(key, val);    }    return out;  }