impl insertCategoryTree, added some "throws Exception", added some commentary