PsiField (PsiMethod accessor, boolean checkSuperClasses) { final PsiClass psiClass = accessor.getContainingClass(); if (psiClass == null) return null; PsiField field = null; if (!checkSuperClasses) { field = psiClass.findFieldByName(getPropertyNameByAccessorName(accessor.getName()), true); } else { final String name = getPropertyNameByAccessorName(accessor.getName()); assert name != null; final PsiField[] allFields = psiClass.getAllFields(); for (PsiField psiField : allFields) { if (name.equals(psiField.getName())) { field = psiField; break; } } } if (field == null) return null; if (field.hasModifierProperty(PsiModifier.STATIC) == accessor.hasModifierProperty(PsiModifier.STATIC)) { return field; } return null; }