@Override
  public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
    int identityLength = in.readShort();
    if (identityLength < 0) {
      throw new IOException("HandShake identity length is too small");
    }
    identity = new byte[identityLength];
    in.readFully(identity);
    uniqueId = in.readInt();
    if (uniqueId == -1) {
      throw new IOException("Unexpected EOF reached. Unique ID could not be read");
    }
  }
returns a string representation of this identifier, ignoring the toString cache
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java