docs: public void propertyChange(PropertyChangeEvent evt)
      {
          String strProperty = evt.getPropertyName();
          if (this.isValidProperty(strProperty))
          {
              Object objCurrentValue = this.get(strProperty);
              if (evt.getNewValue() != objCurrentValue)
              {
                  m_strCurrentProperty = strProperty;   // Eliminate the chance of echos
                  if (evt.getNewValue() != null)
                      this.put(strProperty, evt.getNewValue());
                  else
                      this.remove(strProperty);
  //x                this.firePropertyChange(strProperty, evt.getOldValue(), evt.getNewValue());     // Propogate the property change
                  if (propertyChange != null)
                      propertyChange.firePropertyChange(evt);
                  m_strCurrentProperty = null;
              }
          }
      }