def METHOD_NAME(
    nodeA, nodeB, attrs=None, mapA=None, mapB=None, recursive=True
):
    """
    Check children of nodeA and nodeB are identical.
    Args:
      - attrs (list(str)): what attributes to check in comparison
      - mapA: map of attribues in attr to nodeA attributes
      - mapB: map of attribues in attr to nodeB attributes
      - recursive (bool): check just one level of children, or all levels of children?
    """
    if attrs is None:
        attrs = ["title"]
    if mapA is None:
        mapA = {}
    if mapB is None:
        mapB = {}
    diff = []
    childrenA = _get_children_list(nodeA)
    childrenB = _get_children_list(nodeB)
    if not childrenA and not childrenB:
        return []
    if childrenA and not childrenB or not childrenA and childrenB:
        return ["different children"]
    if childrenA and childrenB:
        children_pairs = list(zip(childrenA, childrenB))
        for children_pair in children_pairs:
            childA, childB = children_pair
            children_attr_diff = compare_node_attrs(
                childA, childB, attrs=attrs, mapA=mapA, mapB=mapB
            )
            diff.extend(children_attr_diff)
            if recursive:
                children_diff = METHOD_NAME(
                    childA,
                    childB,
                    attrs=attrs,
                    mapA=mapA,
                    mapB=mapB,
                    recursive=recursive,
                )
                diff.extend(children_diff)
    return diff