code: public static InetAddress fromLittleEndianByteArray(byte[] addr) throws UnknownHostException {
      byte[] reversed = new byte[addr.length];
      for (int i = 0; i < addr.length; i++) {
        reversed[i] = addr[addr.length - i - 1];
      }
      return InetAddress.getByAddress(reversed);
    }
docs: Returns an address from a <b>little-endian ordered</b> byte array (the opposite of what {@link
  InetAddress#getByAddress} expects).
  
  <p>IPv4 address byte array must be 4 bytes long and IPv6 byte array must be 16 bytes long.
  
  @param addr the raw IP address in little-endian byte order
  @return an InetAddress object created from the raw IP address
  @throws UnknownHostException if IP address is of illegal length