question: calls casexxx for each class of the model until one returns a non null result ; it yields that result . concode_field_sep ModelmanagementPackage modelPackage concode_field_sep T casePackage concode_elem_sep T caseApplication concode_elem_sep T casePackageOwner concode_elem_sep T caseModule concode_elem_sep T defaultCase concode_elem_sep T caseNamedElement
target: T function ( EClass arg0 , EObject arg1 ) { if ( arg0 . eContainer ( ) == modelPackage ) { return doSwitch ( arg0 . getClassifierID ( ) , arg1 ) ; } else { List < EClass > loc0 = arg0 . getESuperTypes ( ) ; return loc0 . isEmpty ( ) ? defaultCase ( arg1 ) : doSwitch ( loc0 . get ( 0 ) , arg1 ) ; } }