@Nullable
    public static UUID getLabelUuid(@NonNull final List<UUID> uuids, final int address) {
        if (MeshAddress.isValidVirtualAddress(address)) {
            for (UUID uuid : uuids) {
                final byte[] salt = SecureUtils.calculateSalt(VTAD);
                //Encrypt the label uuid with the salt as the key
                final byte[] encryptedUuid = SecureUtils.calculateCMAC(MeshParserUtils.uuidToBytes(uuid), salt);
                ByteBuffer buffer = ByteBuffer.wrap(encryptedUuid);
                buffer.position(12); //Move the position to 12
                final int hash = buffer.getInt() & UUID_HASH_BIT_MASK;
                if (hash == getHash(address)) {
                    return uuid;
                }
            }
        }
        return null;
    }
Returns the label UUID for a given virtual address

@param address 16-bit virtual address
mesh/src/main/java/no/nordicsemi/android/mesh/utils/MeshAddress.java