question: IChange [ ] changes ( EObject element , IXtextDocument doc ) throws BadLocationException { ArrayList < IChange > changes = new ArrayList < > ( ) ; if ( element instanceof TypeDefiningElement ) { changes . add ( semanticChangeProvider . setAccessModifier ( doc , ( TypeDefiningElement ) element , this . modifier , this . export ) ) ; } else if ( element instanceof ExportedVariableStatement ) { changes . add ( semanticChangeProvider . setAccessModifiers ( doc , ( ModifiableElement ) element , this . modifier ) ) ; } else { return changes . toArray ( new IChange [ changes . size ( ) ] ) ; } if ( element instanceof AnnotableElement ) { if ( this . internal ) { changes . add ( semanticChangeProvider . addAnnotation ( doc , ( AnnotableElement ) element , INTERNAL_ANNOTATION ) ) ; } else { changes . add ( semanticChangeProvider . removeAnnotation ( doc , ( AnnotableElement ) element , INTERNAL_ANNOTATION ) ) ; } return changes . toArray ( new IChange [ changes . size ( ) ] ) ; } return new IChange [ ] { } ; }
target:  Returns the IChanges necessary to follow the suggestion.