public void replacePartialIdentifierInMessage(Message<ID> msg) {
    ID sender = msg.getSender();
    ID oldID = sender;
    ID newID = services.getJoinLeave().getMemberID(oldID);
    if (newID != null && newID != oldID) {
      sender.setMemberData(newID.getMemberData());
      sender.setIsPartial(false);
    } else {
      MembershipView currentView = latestView;
      if (currentView != null) {
        sender = (ID) currentView.getCanonicalID(sender);
      }
    }
    if (!sender.isPartial()) {
      msg.setSender(sender);
    }
  }
If the message's sender ID is a partial ID, which can happen if it's received in a JGroups
message, replace it with an ID from the current membership view.

@param msg the message holding the sender ID
geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembership.java