private DualViewColumnInfo @NotNull [] createColumnList(@NotNull Project project,
                                                          @NotNull VcsHistoryProvider provider,
                                                          ColumnInfo @Nullable [] additionalColumns) {
    ArrayList<DualViewColumnInfo> columns = new ArrayList<>();
    columns.add(new TreeNodeColumnInfoWrapper<>(
      new RevisionColumnInfo(comparing(revision -> myRevisionsOrder.get(revision.getRevisionNumber()), reverseOrder()))));
    if (!provider.isDateOmittable()) columns.add(new TreeNodeColumnInfoWrapper<>(new DateColumnInfo()));
    columns.add(new TreeNodeColumnInfoWrapper<>(new AuthorColumnInfo()));
    if (additionalColumns != null) {
      for (ColumnInfo<?, ?> additionalColumn : additionalColumns) {
        columns.add(new TreeNodeColumnInfoWrapper(additionalColumn));
      }
    }
    columns.add(new TreeNodeColumnInfoWrapper<>(new MessageColumnInfo(project)));
    return columns.toArray(new DualViewColumnInfo[0]);
  }
private DualViewColumnInfo @NotNull [] createColumnList(@NotNull Project project,
                                                          @NotNull VcsHistoryProvider provider,
                                                          ColumnInfo @Nullable [] additionalColumns)