@Nullable
  public CommittedChangeListsListener createRefresher(final boolean ignoreEnabled) {
    if (refreshEnabled(ignoreEnabled)) {
      // on awt thread
      final MergeinfoCached state =
          myMergeInfoCache.getCachedState(myRootGetter.get(), myWcPathGetter.get());
      myCachedMap.put(
          createKey(myRootGetter.get(), myBranchGetter.get()),
          (state == null)
              ? new MergeinfoCached()
              : new MergeinfoCached(
                  new HashMap<Long, SvnMergeInfoCache17.MergeCheckResult>(state.getMap()),
                  state.getCopyRevision()));
      myMergeInfoCache.clear(myRootGetter.get(), myWcPathGetter.get());

      return new MyRefresher();
    }
    return null;
  }