public List<IRobotSpecItem> getSelectedRobots() {
    List<IRobotSpecItem> res = new ArrayList<IRobotSpecItem>();

    for (AvailableRobotsPanel.ItemWrapper item : selectedRobots) {
      res.add(item.getItem());
    }
    return res;
  }
  private void addButtonActionPerformed() {
    SelectedRobotsModel selectedModel = (SelectedRobotsModel) getSelectedRobotsList().getModel();
    List<AvailableRobotsPanel.ItemWrapper> moves = availableRobotsPanel.getSelectedRobots();

    for (AvailableRobotsPanel.ItemWrapper move : moves) {
      selectedRobots.add(new AvailableRobotsPanel.ItemWrapper(move.getItem()));
    }

    selectedModel.changed();
    fireStateChanged();
    if (selectedModel.getSize() >= minRobots && selectedModel.getSize() <= maxRobots) {
      showInstructions();
    } else if (selectedModel.getSize() > maxRobots) {
      showWrongNumInstructions();
    }

    availableRobotsPanel.getAvailableRobotsList().requestFocus();
  }