@Override
 public void endElement(String uri, String localName, String qName) throws SAXException {
   if ("item".equals(qName)) {
     externalName = null;
   } else if ("annotation".equals(qName)) {
     if (externalName != null && annotationFQN != null) {
       String argumentsString = arguments.length() == 0 ? "" : intern(arguments.toString());
       for (AnnotationData existingData : data.get(externalName)) {
         if (existingData.annotationClassFqName.equals(annotationFQN)) {
           duplicateError(file, externalName, "Duplicate annotation '" + annotationFQN + "' ");
         }
       }
       AnnotationData annData =
           internAnnotationData(new AnnotationData(annotationFQN, argumentsString));
       data.add(externalName, annData);
       annotationFQN = null;
       arguments = null;
     }
   }
 }