boolean (PsiMethod method) { if (method == null) return false; PsiField field = PropertyUtil.getFieldOfGetter(method); if (field != null) return !field.hasModifierProperty(PsiModifier.VOLATILE); return JavaMethodContractUtil.isPure(method) && !mayHaveExceptionalSideEffect(method); }