Message<ID> deserializeMessage(DataInputStream in, short ordinal)
      throws ClassNotFoundException, IOException {
    GMSMemberData info = new GMSMemberData();
    info.readEssentialData(in, services.getSerializer().createDeserializationContext(in));
    ID m = services.getMemberFactory().create(info);
    Message<ID> result = services.getSerializer().getObjectDeserializer().readObject(in);

    setSender(result, m, ordinal);

    return result;
  }
deserialize a jgroups payload. If it's a DistributionMessage find the ID of the sender and
establish it as the message's sender
geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java