def __recursive_insert(self, entry, search_node):
<EOL>if (search_node.type == cfnode_type.CFNODE_NONLEAF):<EOL><INDENT>return self.__insert_for_noneleaf_node(entry, search_node);<EOL><DEDENT>else:<EOL><INDENT>return self.__insert_for_leaf_node(entry, search_node);<EOL><DEDENT>
!
        @brief Recursive insert of the entry to the tree.
        @details It performs all required procedures during insertion such as splitting, merging.

        @param[in] entry (cfentry): Clustering feature.
        @param[in] search_node (cfnode): Node from that insertion should be started.

        @return (bool) True if number of nodes at the below level is changed, otherwise False.