Yeah, I could restrict that to only accept valid tags.

As the metadata vector has different names in different places, there is a method to change the tag-string.
Also, a constructor that accepts the tag as parameter.
No checks done on the tagname. Not really necessary as this is our own source code.
If we use it with an inaccurate name, a thousand alarms will sound ...

I believe there are only two "valid" tag names for the metadata vector: "metadata" and "registrationMetadata".

Now, if I implement a check in the tagSet method, comparing to these two "valid" names, I introduce DEAD CODE (in the else part where I would have to do LM_X or something), so that I will not do.
What I will do is to change the tagnames ('MV' and 'mv') in the unit test.