@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; } } }