Fix AnnotationFacotry#annotate() to avoid adding to a unmodifiableList

The AnnotationFacotry#annotate() add an annotation by "element.getAnnotations().add(annotation)", but element.getAnnotations() method returns an unmodifiedList, which will then cause Exception. Changed version use element.addAnnotation(annotation) instead.