'Inspect a list:reference multi-value containment query
@param query: the query
@param field: the list:reference field
@param conjunction: the conjunction operator (AND or OR)
@param op: the containment operator (usually CONTAINS)'

def inspect_multi_query(self, query, field=None, conjunction=None, op=None):

    found = set()
    first = query.first
    second = query.second
    assertEqual = self.assertEqual
    inspect_multi_query = self.inspect_multi_query
    if (isinstance(first, Query) and isinstance(second, Query)):
        assertEqual(query.op, conjunction)
        found |= inspect_multi_query(first, conjunction=conjunction, op=op)
        found |= inspect_multi_query(second, conjunction=conjunction, op=op)
    else:
        assertEqual(query.first, field)
        assertEqual(query.op, op)
        found.add(int(query.second))
    return found
