using System.Linq.Expressions;
using Pfc.DataMapper.Configuration.Model;
using Pfc.DataStructureServiceClient.Client.Models;

namespace KaskoSFCore.Services
{
    public class BasketModelMapper : IUnivarsalModelMapper<Basket>
    {
        public string InsuranceContextCode => "Kasko"; // Должен совпадать с InsuranceContextCode из запроса

        public UnivarsalModelFieldMapingConfiguration ConfigureInner(
            RootDataStructureDto contextStructureDto,
            out IEnumerable<ConfigurationWarning> configurationWarnings)
        {
            var warnings = new List<ConfigurationWarning>();
            var configuration = new UnivarsalModelFieldMapingConfiguration(
                "root", null);

            // Пример маппинга полей Basket
            // Реализуйте логику сопоставления полей Basket с DTO
            //try
            //{
            //    // Например:
            //    configuration.AddFieldMapping("BasketId", "BasketId_DTO");
            //    configuration.AddFieldMapping("TotalAmount", "Amount_DTO");
            //}
            //catch (Exception ex)
            //{
            //    warnings.Add(new ConfigurationWarning($"Ошибка маппинга: {ex.Message}", WarningLevel.Critical));
            //}

            configurationWarnings = warnings;
            return configuration;
        }
    }
}


public class UnivarsalModelFieldMapingConfiguration
{
    private readonly List<UnivarsalModelFieldMapingConfiguration> _childConfigurations;

    private readonly LambdaExpression _extractionFunc;

    private readonly string _propertyName;

    private readonly bool _isCollection;

    private readonly bool _ignoreImplicit;

    internal string PropertyName => _propertyName;

    internal LambdaExpression ExtractionFunc => _extractionFunc;

    internal bool IsCollection => _isCollection;

    internal bool IgnoreImplicit => _ignoreImplicit;

    internal UnivarsalModelFieldMapingConfiguration(string propertyName, LambdaExpression extractionFunc, bool isCollection = false, bool ignoreImplicit = false)
    {
        _childConfigurations = new List<UnivarsalModelFieldMapingConfiguration>();
        _propertyName = propertyName;
        _extractionFunc = extractionFunc;
        _isCollection = isCollection;
        _ignoreImplicit = ignoreImplicit;
    }

    internal void AddChildConfiguration(UnivarsalModelFieldMapingConfiguration configuration)
    {
        _childConfigurations.Add(configuration);
    }

    internal bool TryGetFieldConfiguration(string fieldName, out IEnumerable<UnivarsalModelFieldMapingConfiguration> fieldConfiguration)
    {
        fieldConfiguration = null;
        IEnumerable<UnivarsalModelFieldMapingConfiguration> enumerable = _childConfigurations.Where((UnivarsalModelFieldMapingConfiguration x) => x.PropertyName != null && x.PropertyName.Equals(fieldName, StringComparison.OrdinalIgnoreCase));
        if (!enumerable.Any())
        {
            return false;
        }

        fieldConfiguration = enumerable;
        return true;
    }

    internal IEnumerable<UnivarsalModelFieldMapingConfiguration> GetIntermediateConfigsurations()
    {
        return _childConfigurations.Where((UnivarsalModelFieldMapingConfiguration x) => x.PropertyName == null);
    }

    internal static List<(Expression extractExpression, UnivarsalModelFieldMapingConfiguration configuration)> GetExtractionExpression(Expression model, string propertyName, UnivarsalModelFieldMapingConfiguration parentMappingConfiguration)
    {
        List<(Expression, UnivarsalModelFieldMapingConfiguration)> list = new List<(Expression, UnivarsalModelFieldMapingConfiguration)>();
        if (parentMappingConfiguration.TryGetFieldConfiguration(propertyName, out var fieldConfiguration))
        {
            foreach (UnivarsalModelFieldMapingConfiguration item in fieldConfiguration)
            {
                list.Add((ExpressionBuildHelper.InvokeIfNotNull(item.ExtractionFunc, model), item));
            }
        }

        foreach (UnivarsalModelFieldMapingConfiguration intermediateConfigsuration in parentMappingConfiguration.GetIntermediateConfigsurations())
        {
            Expression model2 = ExpressionBuildHelper.InvokeIfNotNull(intermediateConfigsuration.ExtractionFunc, model);
            list.AddRange(GetExtractionExpression(model2, propertyName, intermediateConfigsuration));
        }

        return list;
    }

Почему у меня ошибка?
Severity	Code	Description	Project	File	Line	Suppression State
Error	CS1729	'UnivarsalModelFieldMapingConfiguration' does not contain a constructor that takes 2 arguments	KaskoSFCore	C:\Code\CustomCode\KaskoSFCore\KaskoSFCore\Services\BasketModelMapper.cs	16	Active