private void addActivityLog(Map<String, ActivityLog> logs, File file) {

        ActivityLog log = getActivityLog(file);
        if (log == null)
            return;

        // Convert file into deterministic name UUID within URL namespace
        UUID fileUUID;
        try {
            byte[] urlBytes = file.toURI().toURL().toString().getBytes(StandardCharsets.UTF_8);
            fileUUID = UUID.nameUUIDFromBytes(ByteBuffer.allocate(16 + urlBytes.length)
                    .putLong(UUID_NAMESPACE_URL.getMostSignificantBits())
                    .putLong(UUID_NAMESPACE_URL.getLeastSignificantBits())
                    .put(urlBytes)
                    .array());
        }
        catch (MalformedURLException e) {
            logger.warn("Ignoring file \"{}\" as a unique URL and UUID for that file could not be generated: {}", e.getMessage());
            logger.debug("URL for file \"{}\" could not be determined.", file, e);
            return;
        }

        logs.put(fileUUID.toString(), log);

    }
Adds an ActivityLog instance representing the session recording or log
contained within the given file to the given map of logs. If no
ActivityLog can be produced for the given file (it is unreadable or
cannot be identified), this function has no effect.

@param logs
    The map of logs to add the ActivityLog to.

@param file
    The file to produce an ActivityLog instance for.
extensions/guacamole-history-recording-storage/src/main/java/org/apache/guacamole/history/connection/HistoryConnectionRecord.java