docs: @SuppressWarnings({"rawtypes", "unchecked"})
  	private static void loadAnnotationHandlers(HandlerLibrary lib, Trees trees) throws IOException {
  		//No, that seemingly superfluous reference to JavacAnnotationHandler's classloader is not in fact superfluous!
  		for (JavacAnnotationHandler handler : SpiLoadUtil.findServices(JavacAnnotationHandler.class, JavacAnnotationHandler.class.getClassLoader())) {
  			handler.setTrees(trees);
  			Class<? extends Annotation> annotationClass = handler.getAnnotationHandledByThisHandler();
  			AnnotationHandlerContainer<?> container = new AnnotationHandlerContainer(handler, annotationClass);
  			String annotationClassName = container.annotationClass.getName().replace("$", ".");
  			List<AnnotationHandlerContainer<?>> list = lib.annotationHandlers.get(annotationClassName);
  			if (list == null) lib.annotationHandlers.put(annotationClassName, list = new ArrayList<AnnotationHandlerContainer<?>>(1));
  			list.add(container);
  			lib.typeLibrary.addType(container.annotationClass.getName());
  		}
  	}