void (PsiAnnotation original, PsiAnnotation query, PsiAnnotation replacement) { final PsiAnnotationParameterList originalParameters = original.getParameterList(); if (originalParameters.getTextLength() > 0) { final PsiAnnotationParameterList replacementParameters = replacement.getParameterList(); if (query.getParameterList().getTextLength() == 0 && replacementParameters.getTextLength() == 0) { replacementParameters.replace(originalParameters); return; } final List<? extends PsiElement> unmatchedAttributes = original.getUserData(GlobalMatchingVisitor.UNMATCHED_ELEMENTS_KEY); if (unmatchedAttributes != null) { for (PsiElement attribute : unmatchedAttributes) { replacementParameters.add(whiteSpace(attribute.getPrevSibling(), " ")); replacementParameters.add(attribute); } } } }