def same_lists(first, second):
    """Do the 2 input lists contain equivalent objects?"""
    nobjs = len(first)
    if len(second) != nobjs:
        return False

    # This is a bit of a brute-force approach since I'm not sure whether
    # ExposureGroups will get ordered consistently by a sort operation if
    # their internal ordering varies without defining the appropriate
    # special methods, but no big deal. Equivalence *does* work where the
    # internal ordering of ExposureGroups varies.
    for obj1 in first:
        found = False
        for obj2 in second:
            if obj1 == obj2:
                found = True
                break
        if not found:
            return False
    return True