@Override
    public boolean equals(Object obj) {
      if (this == obj) {
        return true;
      }
      if (obj == null) {
        return false;
      }
      if (!(obj instanceof MessageKey)) {
        return false;
      }
      MessageKey other = (MessageKey) obj;
      if (myId == null) {
        if (other.myId != null) {
          return false;
        }
      } else if (!myId.equals(other.myId)) {
        return false;
      }
      return processorId == other.processorId;
    }
This class keeps track of the information we need to determine which threads in the receiver
system a reply processor thread is waiting for.

This will allow us to programatically discover deadlocks.
geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/MessageDependencyMonitor.java