void (String uri, String localName, String qName) { if ("item".equals(qName)) { myExternalName = null; } else if ("annotation".equals(qName) && myExternalName != null && myAnnotationFqn != null) { for (AnnotationData existingData : myData.get(myExternalName)) { if (existingData.annotationClassFqName.equals(myAnnotationFqn) && myExternalAnnotationsManager != null) { myExternalAnnotationsManager.duplicateError(myFile, myExternalName, "Duplicate annotation '" + myAnnotationFqn + "'"); } } String argumentsString = myArguments.length() == 0 ? "" : myExternalAnnotationsManager == null ? myArguments.toString() : myExternalAnnotationsManager.intern(myArguments.toString()); AnnotationData data = new AnnotationData(myAnnotationFqn, argumentsString); myData.add(myExternalName, myExternalAnnotationsManager == null ? data : myExternalAnnotationsManager.internAnnotationData(data)); myAnnotationFqn = null; myArguments = null; } }