def node_add(self, node_sum, node_other):
supported_node_type = [<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT:list>',<EOL>]<EOL>in_s_not_in_o, in_o_not_in_s, in_s_and_in_o =self._group_kids(node_sum, node_other)<EOL>for child_self in in_s_not_in_o:<EOL><INDENT>pass<EOL><DEDENT>for child_other in in_o_not_in_s:<EOL><INDENT>if child_other.get(operation_tag) == '<STR_LIT>':<EOL><INDENT>raise ConfigDeltaError('<STR_LIT>''<STR_LIT>'.format(self.device.get_xpath(child_other)))<EOL><DEDENT>elif child_other.get(operation_tag) == '<STR_LIT>':<EOL><INDENT>pass<EOL><DEDENT>else:<EOL><INDENT>s_node = self.device.get_schema_node(child_other)<EOL>if s_node.get('<STR_LIT:type>') in supported_node_type:<EOL><INDENT>getattr(self,<EOL>'<STR_LIT>'.format(s_node.get('<STR_LIT:type>').replace('<STR_LIT:->', '<STR_LIT>')))(node_sum, child_other)<EOL><DEDENT><DEDENT><DEDENT>for child_self, child_other in in_s_and_in_o:<EOL><INDENT>s_node = self.device.get_schema_node(child_self)<EOL>if s_node.get('<STR_LIT:type>') in supported_node_type:<EOL><INDENT>getattr(self,<EOL>'<STR_LIT>'.format(s_node.get('<STR_LIT:type>').replace('<STR_LIT:->', '<STR_LIT>')))(child_self, child_other)<EOL><DEDENT><DEDENT>
node_add

        High-level api: Combine two configs or apply an instance of ConfigDelta
        to a config. This method is recursive. node_sum will be modified during
        the process, and it becomes the result at the end.

        Parameters
        ----------

        node_sum : `Element`
            A config node in a config tree.

        node_other : `Element`
            A config node in another config tree.

        Returns
        -------

        None
            There is no return of this method.