public void handlePackReply(PackReplyOldBetHop message) {
		
		// o sink nao deve manipular pacotes do tipo Relay
		if(this.ID == message.getSinkID()){
			return;
		}
		
		
		// o border e fonte nao devem manipular pacotes do tipo Relay
		// necessaria verificacao de que o no ja recebeu menssagem 
		// de um determinado descendente, isso e feito para evitar mensagens duplicadas.
		// Se o nodo ainda nao recebeu menssagem de um descendente 
		// ele deve 'processar' (recalcular o sbet) e propagar o pacote desse descendente
		// para que os outros nodos tambem calculem seu sBet
		if (!sons.contains(message.getSenderID()) && 
			(message.getHops() > getHops())		  && 
			(message.getSendToNodes().contains(this.ID))
			/*(message.getSendTo() == this.ID)*/) { 
			
			sons.add(message.getSenderID());

			this.setColor(Color.CYAN);
			setRole(NodeRoleOldBetHopSbet.RELAY);
			
			processBet(message);
			
			message.setSendTo(getNextHop());
			message.setSendToNodes(neighbors);
			
			TimerFwdReplyOldBetHop fwdReply = new TimerFwdReplyOldBetHop(message);
			
			fwdReply.startRelative(0.0000000000001, this);
					
		}
		
		// Uma mensagem foi recebida pelos ancestrais logo devo analisar se e o meu nextHop
		if (message.getHops() < getHops()){	
			if (message.getsBet() > getNeighborMaxSBet()) {
				//System.out.println(message);
				//System.out.println(this.ID+" Entrei e mudei meu nhop");
				setNeighborMaxSBet(message.getsBet());
				setNextHop(message.getSenderID());
				
			}
			message = null;
		}
		
		
	}