class LogArchiveCache implements Closeable {

    void add(MessageRecord messageRecord) throws Exception {
        try {
            validateMessageRecord(messageRecord);
            handleRotation();
            cacheRecord(messageRecord);
            updateState();
        } catch (Exception e) {
            handleCacheError(e);
        }
    }

      LogArchiveCache(Supplier<String> randomGenerator,
            LinkingInfoBuilder linkingInfoBuilder,
            Path workingDir);

}