public String expensiveToString() {
    Object mbr;
    try (ByteArrayDataInput in = new ByteArrayDataInput(membershipID)) {
      mbr = InternalDistributedMember.readEssentialData(in);
    } catch (Exception e) {
      mbr = membershipID; // punt and use the bytes
    }
    return "EventID[" + mbr + ";threadID=" + ThreadIdentifier.toDisplayString(threadID)
        + ";sequenceID=" + sequenceID + (Breadcrumbs.ENABLED ? ";bcrumb=" + breadcrumbCounter : "")
        + (bucketID >= 0 ? (";bucketID=" + bucketID) : "") + "]";
  }
form the hashcode for the memberID byte array
geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java