<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _gen_etetoolkit_tree(self, node, subject_info_tree):
 """Copy SubjectInfoTree to a ETE Tree."""

        for si_node in subject_info_tree.child_list:
            if si_node.type_str == TYPE_NODE_TAG:
                child = self._add_type_node(node, si_node.label_str)
            elif si_node.type_str == SUBJECT_NODE_TAG:
                child = self._add_subject_node(node, si_node.label_str)
            else:
                raise AssertionError(
                    'Unknown node type. type_str="{}"'.format(si_node.type_str)
                )
            self._gen_etetoolkit_tree(child, si_node)