@Override
  @RequiresBackgroundThread
  public void dispose() {
    // since disposing log triggers flushing indexes on disk we do not want to do it in EDT
    // disposing of VcsLogManager is done by manually executing dispose(@Nullable Runnable callback)
    // the above method first disposes ui in EDT, then disposes everything else in a background
    ApplicationManager.getApplication().assertIsNonDispatchThread();
    LOG.debug("Disposed " + myName);
  }
@Override
  @RequiresBackgroundThread
  public void dispose()