collect classifi extend classifi object clazz clazz collect set clazz classifi illeg argument except list classifi result arrai list classifi object gen model facad special clazz generaliz element client gener gen child client classifi result add classifi client invalid object except invalid element except result 