class TrackedQueryManager {

  public void setQueriesComplete(Path path) {
    this.trackedQueryTree
        .subtree(path)
        .foreach(
            new ImmutableTree.TreeVisitor<Map<QueryParams, TrackedQuery>, Void>() {
              @Override
              public Void onNodeValue(
                  Path relativePath, Map<QueryParams, TrackedQuery> value, Void accum) {
                for (Map.Entry<QueryParams, TrackedQuery> e : value.entrySet()) {
                  TrackedQuery trackedQuery = e.getValue();
                  if (!trackedQuery.complete) {
                    saveTrackedQuery(trackedQuery.setComplete());
                  }
                }
                return null;
              }
            });
  }

  public  TrackedQueryManager(
      PersistenceStorageEngine storageLayer, LogWrapper logger, Clock clock);

}