boolean (@NotNull PsiField field, PsiMethod @NotNull [] constructors) { if (constructors.length == 0 || field.hasModifierProperty(PsiModifier.STATIC)) { return false; } for (PsiMethod constructor : constructors) { if (!JavaHighlightUtil.getChainedConstructors(constructor).isEmpty()) continue; final PsiCodeBlock body = constructor.getBody(); if (body == null || !HighlightControlFlowUtil.variableDefinitelyAssignedIn(field, body)) { return false; } try { ControlFlow flow = HighlightControlFlowUtil.getControlFlowNoConstantEvaluate(body); if (ContainerUtil.exists(ControlFlowUtil.getReadBeforeWrite(flow), read -> ExpressionUtil.isEffectivelyUnqualified(read) && read.isReferenceTo(field))) { return false; } if (canBeUsedInCalledMethods(field, collectMethodsBeforeAssignment(field, flow))) { return false; } } catch (AnalysisCanceledException e) { return false; } } return true; }