void filterOutgoingMessage(Message<ID> m) {
    switch (m.getDSFID()) {
      case JOIN_RESPONSE:
        JoinResponseMessage<ID> jrsp = (JoinResponseMessage<ID>) m;

        if (jrsp.getRejectionMessage() == null
            && services.getConfig().isMulticastEnabled()) {
          // get the multicast message digest and pass it with the join response
          Digest digest = (Digest) myChannel.getProtocolStack().getTopProtocol()
              .down(Event.GET_DIGEST_EVT);
          try (BufferDataOutputStream bufferDataOutputStream =
              new BufferDataOutputStream(500, KnownVersion.CURRENT)) {
            try {
              digest.writeTo(bufferDataOutputStream);
            } catch (Exception e) {
              logger.fatal("Unable to serialize JGroups messaging digest", e);
            }
            jrsp.setMessengerData(bufferDataOutputStream.toByteArray());
          }
        }
        break;
      default:
        break;
    }
  }
look for certain messages that may need to be altered before being sent
geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java