def matching_indices
      raise "block required for matching_indices" unless block_given?
      @indices = []
      ## content can be string or Chunkline, so we had to write <tt>index</tt> for this.
      @list.each_with_index do |fields, ix|
        flag = yield ix, fields
        if flag
          @indices << ix
        end
      end
      #$log.debug "XXX:  INDICES found #{@indices}"
      if @indices.count > 0
        fire_dimension_changed
        init_vars
      else
        @indices = nil
      end
      #return @indices
    end
def matching_indices
      raise "block required for matching_indices" unless block_given?
      @indices = []
      ## content can be string or Chunkline, so we had to write <tt>index</tt> for this.
      @list.each_with_index do |fields, ix|
        flag = yield ix, fields
        if flag
          @indices << ix
        end
      end
      #$log.debug "XXX:  INDICES found #{@indices}"
      if @indices.count > 0
        fire_dimension_changed
        init_vars
      else
        @indices = nil
      end
      #return @indices
    end
yields each column to caller method
 if yield returns true,  collects index of row into array and returns the array
 @returns array of indices which can be empty
 Value yielded can be fixnum or date etc