class BridgeStorageProvider {

    public Federation getOldFederation() {
        if (oldFederation != null || shouldSaveOldFederation) {
            return oldFederation;
        }

        Optional<Integer> storageVersion = getStorageVersion(OLD_FEDERATION_FORMAT_VERSION);

        oldFederation = safeGetFromRepository(OLD_FEDERATION_KEY,
                data -> data == null
                        ? null
                        : deserializeFederationAccordingToVersion(data, storageVersion)
        );
        return oldFederation;
    }

    public  BridgeStorageProvider(Repository repository, RskAddress contractAddress, BridgeConstants bridgeConstants, ActivationConfig.ForBlock activations);

}