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 ) ; } }
calls casexxx for each class of the model until one returns a non null result ; it yields that result . concode_field_sep NoreflectioncompanyPackage modelPackage concode_field_sep T caseCompany concode_elem_sep T caseEmployee concode_elem_sep T defaultCase