code: static Inet6Address getInet6Address(byte[] bytes) {
          if (bytes.length != 16)
              throw new IllegalArgumentException(format("Byte array has invalid length for an IPv6 address: %s != 16.", bytes.length));
  
          try {
              //This is a simple way to bypass the automatic conversion to Inet4Address as the default behavior
              //in InetAddress.getByAddress(byte[]) for mapped addresses.
              return Inet6Address.getByAddress(null, bytes, -1);
          } catch (UnknownHostException e) {
              throw new AssertionError(e);
          }
      }
docs: Returns an {@link Inet6Address}, given a byte array representation of the IPv6 address.
  
  @param bytes byte array representing an IPv4 address (should be of length 16)
  @return {@link Inet6Address} corresponding to the supplied byte array
  @throws IllegalArgumentException if a valid {@link Inet6Address} can not be created