def METHOD_NAME(cls, result_key, **kwargs):
    """
    Store a list of lines having keyword=value matches in the given
    attribute name.
    Keyword argument names that exist as column names in the data are
    searched for in the lines of the file and stored in the ``result_key``
    attribute.  All columns must match (i.e. this is a bolean AND search).
    Call this class method before using the class data.
    Examples:
        collect_keys('root_block_devs', USER='root', TYPE='BLK')
    """
    def scanner(self, obj):
        # Have to set the attribute so it exists, even if it has no rows
        if not hasattr(self, result_key):
            setattr(self, result_key, [])
        # Minor hack - search for 'SIZE/OFF' as 'SIZE_OFF'.
        if 'SIZE_OFF' in kwargs:
            kwargs['SIZE/OFF'] = kwargs['SIZE_OFF']
        # Filter the keywords for the list of column names requested.
        for key in [k for k in kwargs if k in obj]:
            # If we have a keyword whose value doesn't match the given
            # item, then skip out now.
            if obj[key] != kwargs[key]:
                return
        # OK, save the item now.
        getattr(self, result_key).append(obj)
    cls._scan(result_key, scanner)