Yes a CHM is unnecessarily complex, here we will very likely have no more than a handful of types _ever_ added: it's to cache which classes of the user application are annotated with _@Indexed_. We only add them the first time we happen to see one via the Query Interceptor, after that this degenerates into a read-only collection.

Also, the _get_ operations and _containsKey_ are extremely hot.