private boolean validateIsConstructorNotDefined(@NotNull PsiClass psiClass, @NotNull Collection<PsiField> params,
                                                  @NotNull ProblemSink builder) {
    boolean result = true;

    final List<PsiType> paramTypes = ContainerUtil.map(params, PsiField::getType);
    final Collection<PsiMethod> definedConstructors = PsiClassUtil.collectClassConstructorIntern(psiClass);
    final String constructorName = getConstructorName(psiClass);

    final PsiMethod existedMethod = findExistedMethod(definedConstructors, constructorName, paramTypes);
    if (null != existedMethod) {
      if (paramTypes.isEmpty()) {
        builder.addErrorMessage("inspection.message.constructor.without.parameters.already.defined")
          .withLocalQuickFixes(() -> new SafeDeleteFix(existedMethod));
      }
      else {
        builder.addErrorMessage("inspection.message.constructor.with.d.parameters.already.defined", paramTypes.size())
          .withLocalQuickFixes(() -> new SafeDeleteFix(existedMethod));
      }
      result = false;
    }

    return result;
  }
private boolean validateIsConstructorNotDefined(@NotNull PsiClass psiClass, @NotNull Collection<PsiField> params,
                                                  @NotNull ProblemSink builder)