code: public static IPv6Address fromByteArray(final byte[] bytes)
      {
          if (bytes == null)
              throw new IllegalArgumentException("can not construct from [null]");
          if (bytes.length != N_BYTES)
              throw new IllegalArgumentException("the byte array to construct from should be 16 bytes long");
  
          ByteBuffer buf = ByteBuffer.allocate(N_BYTES);
          for (byte b : bytes)
          {
              buf.put(b);
          }
  
          buf.rewind();
          LongBuffer longBuffer = buf.asLongBuffer();
          return new IPv6Address(longBuffer.get(), longBuffer.get());
      }
docs: Create an IPv6 address from a byte array.
  
  @param bytes byte array with 16 bytes (interpreted unsigned)
  @return IPv6 address