collect classifi extend classifi object clazz clazz collect set list classifi result arrai list classifi object gen model impl facad gener clazz generaliz element parent gener gen parent parent hand classifi start classifi result add classifi parent invalid object except invalid element except result 