public static Integer generateVirtualAddress(@NonNull final UUID uuid) {
        final byte[] uuidBytes = MeshParserUtils.uuidToBytes(uuid);
        final byte[] salt = SecureUtils.calculateSalt(VTAD);
        final byte[] encryptedUuid = SecureUtils.calculateCMAC(MeshParserUtils.uuidToBytes(uuid), salt);
        ByteBuffer buffer = ByteBuffer.wrap(encryptedUuid);
        buffer.position(12); //Move the position to 12
        return START_VIRTUAL_ADDRESS | (buffer.getInt() & UUID_HASH_BIT_MASK);
    }
Generates a virtual address from a given Lable UUID

@param uuid Type 4 UUID
mesh/src/main/java/no/nordicsemi/android/mesh/utils/MeshAddress.java