set given collect current target collect equal current target doe set target target event fire interest listen note element return iter target list taken primari target target event fire element equal element return target note null collect ignor param target collect target list set target collect target collect iter ntarg target transact collect target list arrai list target collect target list add target collect remov duplic care owner remov null list modifi list arrai list iter target list iter object owner modifi list contain modifi list add target list modifi list object old target check element list old list size set old target correct select target list size target size ntarg target list iter ntarg object targ ntarg targ target contain targ targ target old target target arrai old target target arrai old target start target transact uml listen remov listen target target clear implement set like behaviour element ad ntarg target list iter ntarg object targ ntarg target contain targ target add targ uml listen add listen targ intern set target target event target set old target end target transact 