@Override
    public boolean equals(final Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        final Provisioner that = (Provisioner) o;

        if (globalTtl != that.globalTtl) return false;
        if (lastSelected != that.lastSelected) return false;
        if (!meshUuid.equals(that.meshUuid)) return false;
        if (!provisionerUuid.equals(that.provisionerUuid)) return false;
        if (!provisionerName.equals(that.provisionerName)) return false;
        if (!allocatedUnicastRanges.equals(that.allocatedUnicastRanges)) return false;
        if (!allocatedGroupRanges.equals(that.allocatedGroupRanges)) return false;
        if (!allocatedSceneRanges.equals(that.allocatedSceneRanges)) return false;
        if (provisionerAddress != null && that.provisionerAddress != null)
            return provisionerAddress.equals(that.provisionerAddress);
        else return true;
    }
Checks if a given Unicast Address is within an allocated unicast address range

@param address Unicast Address
@return true if it is within a range or false otherwise
@throws IllegalArgumentException if address is invalid or out of range
mesh/src/main/java/no/nordicsemi/android/mesh/Provisioner.java