boolean (@Nullable PsiClass aClass, @Nullable String propertyName, boolean isStatic) { if (aClass == null || propertyName == null) return false; final PsiField field = aClass.findFieldByName(propertyName, true); if (field instanceof GrField && ((GrField)field).isProperty() && field.hasModifierProperty(PsiModifier.STATIC) == isStatic) return true; final PsiMethod getter = findPropertyGetter(aClass, propertyName, isStatic, true); if (getter != null && getter.hasModifierProperty(PsiModifier.PUBLIC)) return true; final PsiMethod setter = findPropertySetter(aClass, propertyName, isStatic, true); return setter != null && setter.hasModifierProperty(PsiModifier.PUBLIC); }