collect depend object supplier obj object client obj supplier obj name element client obj name element illeg argument except supplier obj client obj instanc name element non nl collect result arrai list depend name element client obj client depend supplier contain supplier obj result add result 