@Override
  public FileHistoryUi createLogUi(@NotNull Project project, @NotNull VcsLogData logData) {
    FileHistoryUiProperties properties = project.getService(FileHistoryUiProperties.class);

    VcsLogFilterCollection filters = FileHistoryFilterer.createFilters(myFilePath, myHash, myRoot);
    String logId = FileHistoryUi.getFileHistoryLogId(myFilePath, myHash);
    VisiblePackRefresherImpl visiblePackRefresher = new VisiblePackRefresherImpl(project, logData, filters, PermanentGraph.Options.Default,
                                                                                 new FileHistoryFilterer(logData, logId), logId);
    FileHistoryUi ui = new FileHistoryUi(logData, properties, visiblePackRefresher, myFilePath, myHash, myRoot, logId, filters,
                                         Objects.requireNonNull(logData.getLogProvider(myRoot).getDiffHandler()));

    RegistryValueListener registryValueListener = new RegistryValueListener() {
      @Override
      public void afterValueChanged(@NotNull RegistryValue value) {
        visiblePackRefresher.onRefresh();
      }
    };
    FileHistoryBuilder.refineValue.addListener(registryValueListener, ui);
    FileHistoryBuilder.removeTrivialMergesValue.addListener(registryValueListener, ui);

    return ui;
  }
@Override
  public FileHistoryUi createLogUi(@NotNull Project project, @NotNull VcsLogData logData)