code: public static Inet6Address getByAddress(String host, byte[] addr, int scope_id)
          throws UnknownHostException {
          if (host != null && host.length() > 0 && host.charAt(0) == '[') {
              if (host.charAt(host.length()-1) == ']') {
                  host = host.substring(1, host.length() -1);
              }
          }
          if (addr != null) {
              if (addr.length == Inet6Address.INADDRSZ) {
                  return new Inet6Address(host, addr, scope_id);
              }
          }
          throw new UnknownHostException("addr is of illegal length");
      }
docs: Create an Inet6Address in the exact manner of {@link InetAddress#getByAddress(String,byte[])}
  except that the IPv6 scope_id is set to the given numeric value.
  The scope_id is not checked to determine if it corresponds to any interface on the system.
  See <a href="Inet6Address.html#scoped">here</a> for a description of IPv6
  scoped addresses.
  
  @param host the specified host
  @param addr the raw IP address in network byte order
  @param scope_id the numeric scope_id for the address.
  @return  an Inet6Address object created from the raw IP address.
  @exception  UnknownHostException  if IP address is of illegal length.
  
  @since 1.5