Merged requested to merge wlampl/athena:CA.InvertDeDuplication into master
Changes to the deduplication of Components in the ComponentAccumulator, as discussed in the job config meeting of March 28th
- Move de-duplication to a separate python file (no dependency on the rest of ComponentAccumulator)
- Make sure that after calling
acc.addService(svc)svc and the service inside the acc point to the same instance. To achieve this, the deduplicaton updates the properties of the component given as parameter and then assigns this component to the list of components in the accumulator, effectively overwriting the previous instance. That applies to all add-methods as well as to the merge method of the ComponentAccumulator.
- Make sure the order of elements in list-properties (and ToolHandleArrays) is maintained when de-duplicating