Object old = super.put(key, value);
Object old; if (value != null) old = super.put(key, value); else old = super.remove(key);
  public Object put(Object key, Object value)  {    Object old = super.put(key, value);    if (key instanceof String && old != value)      firePropertyChange((String) key, old, value);    return old;  }