protected String convertToFqdnIfNeeded(final String hostNameOrIP, final Version version) {
    if (version.isOlderThan(KnownVersion.GEODE_1_15_0)
        && owner.getDM().getConfig().getSSLEndPointIdentificationEnabled()
        && InetAddressValidator.getInstance().isValid(hostNameOrIP)) {
      try {
        return InetAddress.getByName(hostNameOrIP).getCanonicalHostName();
      } catch (UnknownHostException e) {
        // ignore
      }
    }
    return hostNameOrIP;
  }
In older versions of Geode {@link InternalDistributedMember#getHostName()} can return an IP
address if network partition detection is enabled. If SSL endpoint identification is enabled,
those product versions supply the result of a reverse lookup to the TLS handshake API.
Endpoint identification will fail if e.g. the lookup returned a fully-qualified name but
the certificate had just a (non-fully-qualified) hostname in a Subject Alternate Name field.

In version 1.15.0 member identifiers were changed so that if a bind address is specified,
that exact string will be carried as the host name. That gives the administrator better control
over endpoint identification. When connecting to earlier versions we convert any IP numbers
to hostnames via reverse lookup here.

This method should be removed once pre-1.15.0 versions get out of support (i.e. along with
the removal of fromDataPre_GEODE_1_15_0_0 and toDataPre_GEODE_1_15_0_0 methods)
geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java