given element visibl namespac blockquot ocl intend check self connect self namespac content includ particip self connect self namespac content exclud particip impli self namespac client depend exist ocl type permiss stereotyp access supplier ocl type namespac own element select element ownership visibl includ particip supplier ocl type generaliz element parent ocl type namespac own element select element ownership visibl includ particip supplier ocl type import element select element visibl includ particip blockquot note similar logic link model manag helper mdr impl import element object return collect import element quit soon element test don deal code friend code code access code stereotyp param ns namespac check visibl param element element check visibl given element visibl namespac visibl model element element namespac ns ns element self connect self namespac content includ particip collect ns content model impl model manag helper content ns ns content contain element self connect self namespac content exclud particip impli self namespac client depend exist ocl type permiss stereotyp access todo actual return permiss stereotyp access spec call differ semant wai import work review wrong collect permiss permiss import ns permiss imp permiss collect model element supplier imp supplier model element supplier supplier ocl type namespac own element select element ownership visibl includ particip namespac visibl own element namespac supplier ocl type generaliz element parent ocl type namespac own element select element ownership visibl includ particip generaliz element todo perform consid instanti just outsid loop clear point instead set model element dup check hash set model element visibl own element generaliz element dup check supplier ocl type import element select element visibl includ particip uml collect element import uml element element ei import element equal ei import element visibl kind vk equal ei visibl 