class BridgeStorageProvider {

    public Federation getNewFederation() {
        if (newFederation != null) {
            return newFederation;
        }

        Optional<Integer> storageVersion = getStorageVersion(NEW_FEDERATION_FORMAT_VERSION);

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

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

}