private Map<String, List<OneTimeTokenAccount>> readAccountsFromJsonRepository() {
        return FunctionUtils.doUnchecked(() -> {
            val file = location.getFile();
            LOGGER.debug("Ensuring JSON repository file exists at [{}]", file);
            val result = file != null && file.createNewFile();
            if (result) {
                LOGGER.debug("Created JSON repository file at [{}]", file);
            }
            if (file != null && file.length() > 0) {
                LOGGER.debug("Reading JSON repository file at [{}]", file);
                val accounts = this.serializer.from(file);
                LOGGER.debug("Read [{}] accounts from JSON repository file at [{}]", accounts.size(), file);
                return accounts;
            }
            return new HashMap<>();
        });
    }
This is {@link JsonGoogleAuthenticatorTokenCredentialRepository}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-gauth-core/src/main/java/org/apereo/cas/gauth/credential/JsonGoogleAuthenticatorTokenCredentialRepository.java