@Override
    public void actionPerformed(ActionEvent ae) {
        String comm = ae.getActionCommand();
        switch (comm) {
            case START_SERVER_AC:
                if (electionsServer != null) {
                    System.err.println("Duplicate StartServer request in ServerFrame.actionPerformed(ActionEvent)-\n " + comm);
                    return;
                }
                try {
                    electionsServer = new ElectionsServer(PORT, new PrintStream(taWriter));
                    electionsServer.addObserver(this);
                    startMI.setEnabled(false);
                } catch (Exception e) {
                    e.printStackTrace(System.err);
                }
                break;
            case UNLOCK_ALL_AC:
                lockedClientsLM.removeAll();
                updateButtons();
                break;
            case UNLOCK_SELECTION_AC:
                int idx = lockedClientsL.getSelectedIndex();
                lockedClientsLM.remove(idx);
                lockedClientsL.clearSelection();
                updateButtons();
                break;
            default:
                System.err.println("Unknown ACtionCommand received in ServerFrame.actionPerformed(ActionEvent)-\n " + comm);
        }
    }