@Override
    public void recibirMensaje(Mensaje mensaje) {
        if (mensaje.getRuta() != null) {
            List<Long> ruta = mensaje.getRuta();
            for (int i = 0; i < ruta.getLength(); i++) {
                if (ruta.get(i) == this.id) {
                    for (int j = 0; j < connections.getLength(); j++) {
                        Connection connection = connections.get(j);
                        if (connection.getTarget() == ruta.get(i + 1)) {
                            connection.getSocket().send(XmlToolkit.createMessage(mensaje));
                            return;
                        }
                    }
                    break;
                }
            }
        }
        difusion(XmlToolkit.createMessage(mensaje));
    }