question: @ LoopProcessorAnnotations ( loopProcessorAnnotations = { @ LoopProcessorAnnotation ( processPath = { IModelingElementDefinitions . CLASSES_PROCESSOR , IModelingElementDefinitions . OPERATIONS_PROCESSOR } ) , @ LoopProcessorAnnotation ( processPath = { IModelingElementDefinitions . INTERFACES_PROCESSOR , IModelingElementDefinitions . OPERATIONS_PROCESSOR } ) } , aspect = LoopAspectConstants . AFTER ) public static void operationsProcessor ( @ GenerationRegistry GenerationPolicyRegistry generationValueGetter , @ GenerationBaseElement Object element , @ GenerationLoopElement Object modelPackage , @ GenerationLoopElement ( id = { IModelingElementDefinitions . CLASSES_PROCESSOR , IModelingElementDefinitions . INTERFACES_PROCESSOR } ) Object parent ) { List < Object > userAddedDependTypes = generationValueGetter . getValues ( DEPEND_TYPES_TRACKER , parent ) ; List < Object > parametersArgument = generationValueGetter . getValues ( IModelingDecisions . OPERATION_PARAMETER_ARGUMENT , element , parent ) ; for ( Object item : parametersArgument ) { if ( item instanceof SimpleEntry == false ) { continue ; } SimpleEntry < ? , ? > simpleEntry = ( SimpleEntry < ? , ? > ) item ; Object type = simpleEntry . getKey ( ) ; if ( ! userAddedDependTypes . contains ( type ) ) { List < Object > types = generationValueGetter . getValues ( IModelingConstants . TYPES_TRACKER , modelPackage , type ) ; if ( types . isEmpty ( ) ) { continue ; } addDepend ( generationValueGetter , parent , type ) ; } } }
target:  This is an important usability feature to have in our CPP transformation. Asking the user to add "depend" statement for their code in each used parameter is some extra work. However, it is not that much, but the issue that in a language when the user forgets about adding the required depend, they can find a massive number of errors in the generated code due to that missing depends, and finding out that the missing depends is the reason can  take sometime. In a language such as Java, this is not a problem to realize that missing depend, but in CPP it can be even a nightmare in many cases. 