object gener object achild object apar achild generaliz element apar generaliz element illeg argument except generaliz element child generaliz element achild generaliz element parent generaliz element apar iter model impl facad gener child iter gener gen gener gen parent parent gen invalid object except invalid element except 