@Nullable
  private static TargetCallInfo findTargetCallIn(@NotNull PsiField field,
                                                 @NotNull PsiClass contextClass,
                                                 @NotNull PsiMethod method) {
    ConstructorMethodInfo constructorMethodInfo = getConstructorMethodInfo(contextClass);
    PsiManager psiManager = contextClass.getManager();
    if (field.hasModifierProperty(PsiModifier.FINAL) ||
        //simplification, that there is no other way to initialize fields
        hasOnlyOneInsideCall(constructorMethodInfo)) {
      Map<PsiMethod, PsiMethodCallExpression> methodsByCall = constructorMethodInfo.methods().get(method.getName());
      if (methodsByCall == null) {
        return null;
      }
      for (PsiMethod methodByCall : methodsByCall.keySet()) {
        if (psiManager.areElementsEquivalent(methodByCall, method)) {
          PsiMethodCallExpression call = methodsByCall.get(methodByCall);
          PsiMethod constructor = constructorMethodInfo.constructor();
          if (call != null && constructor != null) {
            return new TargetCallInfo(constructor, call) ;
          }
        }
      }
    }
    return null;
  }
@Nullable
  private static TargetCallInfo findTargetCallIn(@NotNull PsiField field,
                                                 @NotNull PsiClass contextClass,
                                                 @NotNull PsiMethod method)