if (isLocalMessage (msg)) { n = getNextMessageNumber (POSITIVE, msg); MessageUtils.setMessageTypeToLocal (msg); } else if (!MessageUtils.hasMessageType(msg) || MessageUtils.isRegularMessage (msg)) {
if (!MessageUtils.hasMessageType(msg) || MessageUtils.isRegularMessage (msg)) {
  public void renumberMessage (AttributedMessage msg) throws CommFailureException  {    //  Set the message number based on the type of message    int n;    if (isLocalMessage (msg)) {  // every msg needs a number, even local ones      n = getNextMessageNumber (POSITIVE, msg);        MessageUtils.setMessageTypeToLocal (msg);    } else if (!MessageUtils.hasMessageType(msg) || MessageUtils.isRegularMessage (msg)) {      n = getNextMessageNumber (POSITIVE, msg);      MessageUtils.setMessageTypeToRegular (msg);    } else if (MessageUtils.isSomePureAckMessage (msg)) {      n = getNextMessageNumber (NEGATIVE, msg);    } else if (MessageUtils.isHeartbeatMessage (msg)) {      n = 0;    } else if (MessageUtils.isPingMessage (msg)) {      n = getNextMessageNumber (NEGATIVE, msg);    } else if (MessageUtils.isTrafficMaskingMessage (msg)) {      n = 0;      MessageUtils.setMessageTypeToTrafficMasking (msg);    } else {      //  Has an unknown message type - should not occur, except during system development      log.error("Unknown msg type! : " +MessageUtils.getMessageType(msg));      n = -1;  // will nearly always result in a duplicate msg on the remote side    }    setMessageNumber(msg, n);  }