private void updateLabels() {
        int size = robots.size(), first = selectedRobot == null? 0:selectedRobot.ordinal();
        Robot active = null;
        for(int i = first; i < first + size; i++) {
            Robot r = robots.get(i % size);
            if(!r.isCharging()) {
                active = r;
                break;
            }
        }
        
        if(active == null) {
            //nothing active; clear the selected state
            label.setText(l10n.format("order.noActive"));
            
        } else if(selectedRobot == null) {
            //active, but nothing selected
            label.setText(l10n.format("order.choose"));
            
        } else {
            //active, and selection. reorder robots
            
            StringBuilder sb = new StringBuilder("<html>");
            Robot lastRobot = null;
            for(int i = first; i < first + size; i++) {
                Robot robot = robots.get(i % size);
                if(robot.isCharging()) {
                    continue;
                }
                
                if(lastRobot != null) {
                    //a follower
                    sb.append(" &larr; ");
                }
                //append HTML, set leader for the next robot
                sb.append(robot.getHTMLNamePlain());
                lastRobot = robot;
            }
            sb.append("</html>");
            label.setText(sb.toString());
        }
    }