I would assume that the call to IsClassMapRegistered would return true
only if it is registered, and never return false if it is already
registered.
The instance (non static) constructor of the class is called before I
use the class - there's no other constructor for that class in my code
currently. So the IsClassMapRegistered followed by the Register call
is done there.
It's not totaly thread safe, 2 competing threads may reach the IsCmReg
and both get a 'false', then attempt to reg and one would win over the
other, provoking an exception (caught though).
Still, I don't see how with the current code the scenario where a
classmap is not registered before the use of that type.