@Override
	public void processBroadcastMsg(Message m) {

		if (m instanceof PackHello) {
			((PackHello) m).setHops(hops);
			((PackHello) m).setMetric(metricPath);
			((PackHello) m).setPaths(pathsToSink);
			((PackHello) m).setSinkID(sinkID);

			broadcast(m);

			statistic.countBroadcastTree();
		}

		if (m instanceof PackReply) {
			((PackReply) m).setHops(hops);
			((PackReply) m).setPath(pathsToSink);
			((PackReply) m).setSenderID(this.ID);
			((PackReply) m).setSinkID(sinkID);
			((PackReply) m).setSendTo(nextHop);
			((PackReply) m).setSendToNodes(neighborsFathes);
			((PackReply) m).setMetric(metricPath);
			((PackReply) m).setsBet(sBet);
			((PackReply) m).setFwdID(this.ID);

			broadcast(m);
			statistic.countBroadcastTree();
		}

		if (m instanceof PackEvent) {
			// a energia gasta esta implementada dentro
			// do broadcastMsgWithNack

			((PackEvent) m).setNextHop(nextHop);

			broadcastMsgWithNack(m);

			protocol.setInAgregation(false);
		}

	}