private static InetAddress bitsToInetAddress(BigInteger ipAddressBits, int addressLength) {
        try {
            byte[] addr = ipAddressBits.toByteArray();
            int addressBytes = addressLength / 8;
            if (addr.length != addressBytes) {
                byte[] temp = new byte[addressBytes];
                System.arraycopy(
                        addr, Math.max(addr.length - addressBytes, 0),
                        temp, Math.max(addressBytes - addr.length, 0), Math.min(addr.length, addressBytes));
                addr = temp;
            }
            return InetAddress.getByAddress(addr);
        } catch (UnknownHostException e) {
            throw new UncheckedIOException(e);
        }
    }
@return iterable over all CIDR blocks of the same prefix size, from the current one and up
vespajlib/src/main/java/ai/vespa/net/CidrBlock.java