def METHOD_NAME(self, node, **kwargs):
    self._handle(node.switch_expr, parent=node, label="switch_expr")
    changed = False
    new_cases = OrderedDict()
    for idx in list(node.cases.keys()):
        case = node.cases[idx]
        new_case = self._handle(case, parent=node, index=idx, label="case")
        if new_case is not None:
            changed = True
            new_cases[idx] = new_case
        else:
            new_cases[idx] = case
    new_default_node = None
    if node.default_node is not None:
        new_default_node = self._handle(node.default_node, parent=node, index=0, label="default")
        if new_default_node is not None:
            changed = True
        else:
            new_default_node = node.default_node
    if changed:
        return SwitchCaseNode(node.switch_expr, new_cases, new_default_node, addr=node.addr)
    return None