public void init(Path contentFile, Path legacyFile) {
        this.contentFile = contentFile;

        if (Files.exists(legacyFile)) {
            // migrate
            JsonArray array;

            try (JsonReader reader = new JsonReader(Files.newBufferedReader(legacyFile, StandardCharsets.UTF_8))) {
                array = GsonProvider.parser().parse(reader).getAsJsonArray();
            } catch (IOException e) {
                e.printStackTrace();
                return;
            }

            for (JsonElement element : array) {
                this.entryQueue.add(ActionJsonSerializer.deserialize(element));
            }

            flush();

            try {
                Files.delete(legacyFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
The queue of entries pending save to the file
common/src/main/java/me/lucko/luckperms/common/storage/implementation/file/FileActionLogger.java