merg current children children remov children longer present ad children right place param node tree node merg list param children current child user object order param children expect child user object order unsupport oper except iter return children doesn support remov oper children doesn support remov remov pointer except node children children merg children explor tree node node list children list children set remov object prepar add remov set children children rememb children tree node user object list explor tree node actual node arrai list explor tree node enumer children node children children element actual node add explor tree node children element posit iter child node actual node iter iter node children iter object node node child node object child obj child node child obj explor tree node explor tree node child explor tree node child obj object user object child user object remov object contain user object remov node parent child order compar user object insert node explor tree node node posit posit node node posit add remain node insert node explor tree node node posit posit node node 