As discussed with three parallel hierarchies and with minimal generics.
Also it is very important (!):
- to keep the separation between the builder and the analysis. Currently to evaluate the data flow, "AnalysisData" is required. This should not be the case, or if a construct like this is required by the PCM analysis, then a separate one should be implemented.
- The standalone initialization and loading of required models should happen in the builder and not the analysis. The analysis should simply require the already loaded instances of the models. Basically, what the initializeAnalysis method does should be moved to the builder