In order to support completions for use-cases such as variable.subcomponent.completion we have to create model elements during completion calculation and add those to the existing model.
Otherwise the execution of OCL expressions cannot work.
This might be implemented using transactions that we roll-back after the proposal has been calculated. As resourceSets are also model elements, this should fix our memory leaks during completion calculation (resources of results are loaded but never unloaded).