public AllocatedUnicastRange nextAvailableUnicastAddressRange(final int rangeSize) {
        final List<AllocatedUnicastRange> ranges = new ArrayList<>();
        for (Provisioner provisioner : provisioners) {
            ranges.addAll(provisioner.getAllocatedUnicastRanges());
        }
        Collections.sort(ranges, unicastRangeComparator);
        return getNextAvailableUnicastRange(rangeSize,
                new AllocatedUnicastRange(MeshAddress.START_UNICAST_ADDRESS, MeshAddress.END_UNICAST_ADDRESS), ranges);
    }
Returns the next unicast address for a provisioner based on the allocated range and the number of elements

@param rangeSize Element count
mesh/src/main/java/no/nordicsemi/android/mesh/MeshNetwork.java