def METHOD_NAME():
    ''' Compare two JSON arrays. Equivalence is defined by the lambdas in id_getter.
    Returns
        True if original and compare nodes are both lists (and thus comparable).
    '''
    try:
        getID = idGetter(path)
        if len(snode) == len(cnode):
            sameOrder = True
            for i,s in enumerate(snode):
                sid = getID(s)
                cid = getID(cnode[i])
                if sid != cid:
                    sameOrder = False
                    break
            if sameOrder:
                for i,s in enumerate(snode):
                    compareStats(s, cnode[i], path + [getID(s)])
                return True
        # generate indices
        sidx = {getID(v):i for i,v in enumerate(snode)}
        cidx = {getID(v):i for i,v in enumerate(cnode)}
    except TypeError:
        return False
    except KeyError:
        return False
    # Check for nodes in the original which are not in the compare.
    for k,i in sidx.items():
        if k not in cidx:
            recordMissing('comparee', snode[i], path + [k])
    for k,i in cidx.items():
        try:
            j = sidx[k]
        except KeyError:
            recordMissing('original', cnode[i], path + [k])
            continue
        compareStats(snode[j], cnode[i], path + [k])
    return True