@Override
      public void propertyChange(PropertyChangeEvent evt) {
        component.removePropertyChangeListener(property, this);
        runnable.run();
      }
@Override
      public void propertyChange(PropertyChangeEvent evt)