return set current children remov modifi children contain children children subsum weak explor node children note children modifi note expect weak explor node reus initi slate remov node fact us check subsumpt node node check subsumt param children list current children param children list expect children set current children remov unsupport oper except children doesn support remov remov pointer except argument set prepar add remov set list children list children set remov set hash set set common object hash set children size children size common object add children common object retain children common object add children common object retain children children remov common object remov set add children remov set remov common object handl weak explor node iter remov set iter list weak node object obj obj weak explor node weak explor node node weak explor node obj weak node weak node link list iter children iter object obj obj weak explor node weak node add obj iter weak node iter object obj node subsum obj remov node remov set remov remov obj weak node children children remov obj remov remov set 