DistinctColumnsItems can properly handle null values, so use the TreeSet directly instead of converting between collection types.