boolean (PsiModifierList modifierList1, PsiModifierList modifierList2) { for (String modifier : PsiModifier.MODIFIERS) { if (PsiModifier.FINAL.equals(modifier)) continue; // final does not change the semantics of the code. if (modifierList1.hasModifierProperty(modifier) != modifierList2.hasModifierProperty(modifier)) { return false; } } return AnnotationUtil.equal(modifierList1.getAnnotations(), modifierList2.getAnnotations()); }