@Override
  public Collection<PsiMethod> renderBuilderMethod(@NotNull BuilderInfo info, Map<String, List<List<PsiType>>> alreadyExistedMethods) {
    final List<PsiMethod> methods = new ArrayList<>();

    final PsiType returnType = info.getBuilderType();
    final String fieldName = info.getFieldName();
    final String singularName = createSingularName(info.getSingularAnnotation(), fieldName);

    final PsiClass builderClass = info.getBuilderClass();

    final String singularAddOneMethodName =
      LombokUtils.buildAccessorName(info.getSetterPrefix(), singularName, info.getCapitalizationStrategy());
    if (!BuilderHandler.matchMethodWithParams(alreadyExistedMethods, singularAddOneMethodName, getOneMethodParameterTypes(info))) {
      final LombokLightMethodBuilder oneAddMethodBuilder = new LombokLightMethodBuilder(
        info.getManager(), singularAddOneMethodName)
        .withContainingClass(builderClass)
        .withMethodReturnType(returnType)
        .withNavigationElement(info.getVariable())
        .withModifier(info.getVisibilityModifier())
        .withAnnotations(info.getAnnotations())
        .withWriteAccess();

      addOneMethodParameter(oneAddMethodBuilder, info.getFieldType(), singularName);
      if (info.getVariable() instanceof PsiField psiField) {
        LombokCopyableAnnotations.copyCopyableAnnotations(psiField, oneAddMethodBuilder.getModifierList(),
                                                          LombokCopyableAnnotations.COPY_TO_BUILDER_SINGULAR_SETTER);
      }

      final String oneMethodBody = getOneMethodBody(singularName, info);
      oneAddMethodBuilder.withBodyText(oneMethodBody);

      createRelevantNonNullAnnotation(info.getNullAnnotationLibrary(), oneAddMethodBuilder);

      methods.add(oneAddMethodBuilder);
    }

    final String singularAddAllMethodName =
      LombokUtils.buildAccessorName(info.getSetterPrefix(), fieldName, info.getCapitalizationStrategy());
    if (!BuilderHandler.matchMethodWithParams(alreadyExistedMethods, singularAddAllMethodName, getAllMethodParameterTypes(info))) {
      final LombokLightMethodBuilder allAddMethodBuilder = new LombokLightMethodBuilder(
        info.getManager(), singularAddAllMethodName)
        .withContainingClass(builderClass)
        .withMethodReturnType(returnType)
        .withNavigationElement(info.getVariable())
        .withModifier(info.getVisibilityModifier())
        .withAnnotations(info.getAnnotations())
        .withWriteAccess();

      addAllMethodParameter(allAddMethodBuilder, info.getFieldType(), fieldName);
      if (info.getVariable() instanceof PsiField psiField) {
        LombokCopyableAnnotations.copyCopyableAnnotations(psiField, allAddMethodBuilder.getModifierList(),
                                                          LombokCopyableAnnotations.COPY_TO_SETTER);
      }

      final String allMethodBody = getAllMethodBody(fieldName, info);
      allAddMethodBuilder.withBodyText(allMethodBody);

      createRelevantNonNullAnnotation(info.getNullAnnotationLibrary(), allAddMethodBuilder);

      methods.add(allAddMethodBuilder);
    }

    final String singularClearMethodName = createSingularClearMethodName(fieldName, info.getCapitalizationStrategy());
    if (!BuilderHandler.matchMethodWithParams(alreadyExistedMethods, singularClearMethodName, Collections.emptyList())) {
      final LombokLightMethodBuilder clearMethodBuilder = new LombokLightMethodBuilder(
        info.getManager(), singularClearMethodName)
        .withContainingClass(builderClass)
        .withMethodReturnType(returnType)
        .withNavigationElement(info.getVariable())
        .withModifier(info.getVisibilityModifier())
        .withAnnotations(info.getAnnotations())
        .withWriteAccess();
      final String clearMethodBlockText = getClearMethodBody(info);
      clearMethodBuilder.withBodyText(clearMethodBlockText);

      createRelevantNonNullAnnotation(info.getNullAnnotationLibrary(), clearMethodBuilder);

      methods.add(clearMethodBuilder);
    }

    return methods;
  }
@Override
  public Collection<PsiMethod> renderBuilderMethod(@NotNull BuilderInfo info, Map<String, List<List<PsiType>>> alreadyExistedMethods)