/** {@inheritDoc} */
 @Override
 public void actionPerformed(ActionEvent ae) {
   final String command = ae.getActionCommand();
   if (command == null) return;
   switch (command) {
     case OK:
       if (!verifyNewTradeRoute()) return;
       // Return to TradeRoutePanel, which will add the route
       // if needed, and it is valid.
       super.actionPerformed(ae);
       break;
     case CANCEL:
       cancelTradeRoute();
       break;
     default:
       super.actionPerformed(ae);
       break;
   }
 }
  /** {@inheritDoc} */
  @Override
  public void removeNotify() {
    this.cargoHandler = null;
    this.dragListener = null;
    this.dropListener = null;
    this.stopListModel.clear();
    this.stopListModel = null;
    this.stopList = null;
    this.tradeRouteName = null;
    this.destinationSelector = null;
    this.messagesBox = null;
    this.addStopButton = null;
    this.removeStopButton = null;
    this.cargoPanel = null;

    super.removeNotify();
  }