public static <T_ROW, T_COL extends Duration> Column<T_ROW, Long> durationMillis(
                final String name,
                final Function<T_ROW, T_COL> columnExtractor) {

            final NumberFormat numberFormat = NumberFormat.getNumberInstance();
            numberFormat.setGroupingUsed(true);
            numberFormat.setMinimumFractionDigits(0);
            numberFormat.setMaximumFractionDigits(0);
            Objects.requireNonNull(columnExtractor);
            Function<T_ROW, Long> newExtractor = row -> columnExtractor.apply(row)
                    .toMillis();

            return new ColumnBuilder<>(
                    Objects.requireNonNull(name),
                    newExtractor)
                    .rightAligned()
                    .withFormat(numberFormat::format)
                    .build();
        }
A right-aligned column for {@link java.time.Duration} values represented as milliseconds
with thousand separators.
stroom-util/src/main/java/stroom/util/logging/AsciiTable.java