@Override
  public void update() {
    HgRepoInfo currentInfo = readRepoInfo();
    // update only if something changed!!!   if update every time - new log will be refreshed every time, too.
    // Then blinking and do not work properly;
    final Project project = getProject();
    if (!project.isDisposed() && !currentInfo.equals(myInfo)) {
      myInfo = currentInfo;
      HgCommandResult branchCommandResult = new HgBranchesCommand(project, getRoot()).collectBranches();
      if (branchCommandResult == null || branchCommandResult.getExitValue() != 0) {
        LOG.warn("Could not collect hg opened branches."); // hg executable is not valid
        myOpenedBranches = myInfo.getBranches().keySet();
      }
      else {
        myOpenedBranches = HgBranchesCommand.collectNames(branchCommandResult);
      }

      BackgroundTaskUtil.executeOnPooledThread(this, ()
        -> BackgroundTaskUtil.syncPublisher(project, HgVcs.STATUS_TOPIC).update(project, getRoot()));
    }
  }
@Override
  public void update()