public boolean parseIp(@Nullable InetAddress addr) {
      if (addr == null) return false;
      if (addr instanceof Inet4Address) {
        ipv4 = addr.getHostAddress();
        ipv4Bytes = addr.getAddress();
      } else if (addr instanceof Inet6Address) {
        byte[] addressBytes = addr.getAddress();
        if (!parseEmbeddedIPv4(addressBytes)) {
          ipv6 = writeIpV6(addressBytes);
          ipv6Bytes = addressBytes;
        }
      } else {
        return false;
      }
      return true;
    }
Returns true if {@link Endpoint#ipv4()} or {@link Endpoint#ipv6()} could be parsed from the
input.

<p>Returns boolean not this for conditional parsing. For example:
<pre>{@code
if (!builder.parseIp(input.getHeader("X-Forwarded-For"))) {
  builder.parseIp(input.getRemoteAddr());
}
}</pre>

@see #parseIp(String)
zipkin/src/main/java/zipkin2/Endpoint.java