'Generic list execute:
If no filters where specified, list all the items.  If
some specific items where asked for, filter on those:
check_results has the same keys than filters.  If only
one filter is set, we use the key from check_result to
print the error'

def execute(self, op, filters={}, check_results={}):

    self.check_for_wildcard(filters, check_results)
    results = self.execute_rpc(op, **filters)
    for dbkey in filters.keys():
        if (not check_results.get(dbkey, None)):
            continue
        if (len(results) >= len(filters[dbkey])):
            continue
        field = check_results[dbkey]
        good = set((str(result[field]) for result in results))
        self.invalid_arg(('Unknown    %s(s):    \n' % self.msg_topic), ',    '.join((set(filters[dbkey]) - good)))
    return results
