rivate static boolean validateSingular(Collection<BuilderInfo> builderInfos, @NotNull ProblemSink problemSink) {
    builderInfos.stream().filter(BuilderInfo::hasSingularAnnotation).forEach(builderInfo -> {
      final PsiType psiVariableType = builderInfo.getVariable().getType();

      String qualifiedName = null;
      if (psiVariableType instanceof PsiClassReferenceType psiVariableClassReferenceType) { // can also be PsiArrayType
        qualifiedName = psiVariableClassReferenceType.getClassName();//PsiTypeUtil.getQualifiedName(psiVariableType);
      }

      if (SingularHandlerFactory.isInvalidSingularType(qualifiedName)) {
        problemSink.addErrorMessage("inspection.message.lombok.does.not.know",
                                    qualifiedName != null ? qualifiedName : psiVariableType.getCanonicalText());
        problemSink.markFailed();
      }

      if (!AbstractSingularHandler.validateSingularName(builderInfo.getSingularAnnotation(), builderInfo.getFieldName())) {
        problemSink.addErrorMessage("inspection.message.can.t.singularize.this.name", builderInfo.getFieldName());
        problemSink.markFailed();
      }
    });
    return problemSink.success();
  }

rivate static boolean validateSingular(Collection<BuilderInfo> builderInfos, @NotNull ProblemSink problemSink) 