code: def process(line, values = true)
        return "" if @header_cols.empty? && @insert_cols.empty?
        header_patterns = {}
        @row_cols = unstring(line).split(';')
        if @header_cols[0] == '*'
          @header_cols[0] = @row_cols
        else
          @header_cols.each_with_index do |h,i|
            if h =~ /^\(?c\d+(?:[=~]{,2}).*$/ 
              if col = eval(h)
                last_eval = $1
                unless @header_cols.index(last_eval) || @header_cols.index(col)
                  if values
                    @header_cols[i] = (h =~ /^\(?c\d+=~/) ? last_eval : col
                    header_patterns[i+1] = h if h =~ /^\(?c\d+[=~+-.]{1,2}/
                  else
                    @header_cols[i] = col if h =~ /^\(?c\d+$/
                  end
                end
              end
            else
              @header_cols[i] = h
            end
          end
        end
        insert_header_cols
        header_patterns.each { |i,h| @header_cols.insert(i,h) }
        to_s
      end
docs: Returns the header