class FileBasedStorage implements StorageProvider {

  @VisibleForTesting
  void mkdirs(Path dir) throws IOException {
    Path sanitizedDir = validatePath(dir);
    if (!sanitizedDir.toFile().mkdirs() && !sanitizedDir.toFile().exists()) {
      throw new IOException(String.format("Unable to create directory '%s'", sanitizedDir));
    }
  }

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

}