class FileBasedStorage implements StorageProvider {

  @Override
  public @Nullable IspConfiguration loadIspConfiguration(NetworkId network, SnapshotId snapshot) {
    try (InputStream inputStream =
        loadSnapshotInputObject(network, snapshot, ISP_CONFIGURATION_KEY)) {
      return BatfishObjectMapper.mapper().readValue(inputStream, IspConfiguration.class);
    } catch (FileNotFoundException e) {
      return null;
    } catch (IOException e) {
      _logger.warnf(
          "Unexpected exception caught while loading ISP configuration for snapshot %s: %s",
          snapshot, Throwables.getStackTraceAsString(e));
      return null;
    }
  }

  public  FileBasedStorage(
      Path baseDir, BatfishLogger logger, BiFunction<String, Integer, AtomicInteger> newBatch);
  public  FileBasedStorage(Path baseDir, BatfishLogger logger);

}