code: public void reconcileSnapshots() throws StorageException {
          checkInitialized();
  
          try {
              // return all snapshots that _do not_ have a corresponding file on the filesystem
              List<SnapshotMetadata> snapshotsToDelete = getMatchingOrderedSnapshots(new Predicate<SnapshotMetadata>() {
                  @Override
                  public boolean apply(@Nullable SnapshotMetadata metadata) {
                      checkArgument(metadata != null);
                      return !snapshotExistsOnFilesystem(snapshotsDirectory, metadata.getFilename());
                  }
              });
  
              // for each of these broken rows, delete the snapshot entry from the db
              for (final SnapshotMetadata metadata : snapshotsToDelete) {
                  dbi.withHandle(new HandleCallback<Void>() {
                      @Override
                      public Void withHandle(Handle handle) throws Exception {
                          SnapshotsDAO dao = handle.attach(SnapshotsDAO.class);
                          dao.removeSnapshotWithTimestamp(metadata.getTimestamp());
                          return null;
                      }
                  });
              }
          } catch (StorageException e) {
              throw e;
          } catch (CallbackFailedException e) {
              throw new StorageException("fail reconcile snapshot", e.getCause());
          } catch (Exception e) {
              throw new StorageException("fail reconcile snapshot", e);
          }
      }
docs: Remove all snapshot metadata entries from the database
  for which there are no corresponding snapshot files on the filesystem.
  
  @throws IllegalStateException if this method is called before {@link OnDiskSnapshotsStore#initialize()}
  @throws StorageException if the snapshot database cannot be
  accessed or there was a problem removing snapshot metadata from the database