public TableBuilder<T_ROW> withColumn(final Column<T_ROW, ?> column) {
            final boolean isNameAlreadyUsed = columns.stream()
                    .map(Column::getName)
                    .anyMatch(columnName -> columnName.equals(column.getName()));
            if (isNameAlreadyUsed) {
                throw new RuntimeException("Column name " + column.getName() +
                        " has already been used.");
            }
            columns.add(column);

            return this;
        }
Add column in order from left to right
stroom-util/src/main/java/stroom/util/logging/AsciiTable.java