overrid predic object dm design dsgr model facad behavior featur dm problem object bf dm collect name seen arrai list iter param model facad paramet bf iter param object param model facad equal name seen contain problem name seen add problem 