docs: def _update_internal_column_state(self, column_names):
          """ Update the internal state with some (possibly) new columns
  
          :param column_names: an iterable which contains new column names
          """
          for k in column_names:
              if k not in self._column_name_idx:
                  self._column_name_idx[k] = len(self._column_name_list)
                  self._column_name_list.append(k)