Explicit column names. When omitted, names come from the header row (or are generated as Column1, Column2, ... when there is no header).
Column1
Column2
final List<String>? columns;