void (@NotNull PsiMethod entry, @NotNull ConstructorVisitorInfo info) { PsiMethod constructor = entry; while (true) { PsiMethodCallExpression methodCall = JavaPsiConstructorUtil.findThisOrSuperCallInConstructor(constructor); if (!JavaPsiConstructorUtil.isChainedConstructorCall(methodCall)) return; PsiMethod method = methodCall.resolveMethod(); if (method == null) return; if (info.visitedConstructors != null && info.visitedConstructors.contains(method)) { info.recursivelyCalledConstructor = method; return; } if (info.visitedConstructors == null) info.visitedConstructors = new ArrayList<>(5); info.visitedConstructors.add(method); constructor = method; } }