@Override
        protected void onOpen(WsOutbound outbound) {
            this.snake = new Snake(id, outbound);
            snakes.put(Integer.valueOf(id), snake);
            connections.put(Integer.valueOf(id), this);
            StringBuilder sb = new StringBuilder();
            for (Iterator<Snake> iterator = getSnakes().iterator();
                    iterator.hasNext();) {
                Snake snake = iterator.next();
                sb.append(String.format("{id: %d, color: '%s'}",
                        Integer.valueOf(snake.getId()), snake.getHexColor()));
                if (iterator.hasNext()) {
                    sb.append(',');
                }
            }
            broadcast(String.format("{'type': 'join','data':[%s]}",
                    sb.toString()));
        }