public DistributedMember getDistributedMember() {
    if (memberId == null) {
      try (ByteArrayDataInput dataInput = new ByteArrayDataInput(identity)) {
        memberId = DataSerializer.readObject(dataInput);
      } catch (Exception e) {
        logger.error("Unable to deserialize membership id", e);
      }
    }
    return memberId;
  }
deserializes the membership id, if necessary, and returns it. All access to membershipId should
be through this method
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java