For elements of type stringUIDBaseType which have maxOccurs > 1 no registration and unregistration logic for the UID references in the UIDManager is generated. Instead the reference to the raw vector of UIDs (string) is generated. This causes that a manipluation of this vector does not update the references in the UIDManager, so also the invalidation logic does not work as expected.
In order to fix this the uid reference vectors should be detected by the code generator, and instead of returning a mutable reference to the vector Add and Remove functions for the vector elements should be generated, which implement the registration logic.
(example: CPACSWallPositionUIDs::GetWallPositionUIDs)
For elements of type stringUIDBaseType which have maxOccurs > 1 no registration and unregistration logic for the UID references in the UIDManager is generated. Instead the reference to the raw vector of UIDs (string) is generated. This causes that a manipluation of this vector does not update the references in the UIDManager, so also the invalidation logic does not work as expected. In order to fix this the uid reference vectors should be detected by the code generator, and instead of returning a mutable reference to the vector Add and Remove functions for the vector elements should be generated, which implement the registration logic. (example: CPACSWallPositionUIDs::GetWallPositionUIDs)