boolean () { //it could be called when functional type of lambda expression is not yet defined (during lambda expression compatibility constraint reduction) //thus inferred results for calls inside could be wrong and should not be cached final Boolean result = MethodCandidateInfo.ourOverloadGuard.doPreventingRecursion(this, false, () -> isValueCompatibleNoCache()); return result != null && result; }