Collection happens at class declaration time. Registration of those classes happens when an instance of TypeRegistry is initialized/synchronized.