protected static boolean isIncomingRouteInfoBetter(int incomingSeqNum, int currentSeqNum, int incomingHopCount, int currentHopCount) {
		if (Math.abs(incomingSeqNum - currentSeqNum) > Constants.SEQUENCE_NUMBER_INTERVAL) {

			if ((incomingSeqNum % Constants.SEQUENCE_NUMBER_INTERVAL) >= (currentSeqNum % Constants.SEQUENCE_NUMBER_INTERVAL)) {
				if ((incomingSeqNum % Constants.SEQUENCE_NUMBER_INTERVAL) == (currentSeqNum % Constants.SEQUENCE_NUMBER_INTERVAL)
						&& incomingHopCount > currentHopCount) {
					return false;
				}
				return true;
			} else {
				//the node have an older route so it should not be used
				return false;
			}
		} else {
			if (incomingSeqNum >= currentSeqNum) {
				if (incomingSeqNum == currentSeqNum && incomingHopCount > currentHopCount) {
					return false;
				}
				return true;
			} else {
				return false;
			}
		}
	}