public virtual IProjectMetadataBuilder AddProjectMetadata(ProjectMetadata metadata)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }

            AllMetadata.Add(metadata);

            return(this);
        }
        public virtual IDtoMetadataBuilder <TDto> AddDtoMetadata(DtoMetadata metadata)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }

            _dtoMetadata = metadata;

            _dtoMetadata.DtoType = typeof(TDto).GetTypeInfo().FullName !;

            AllMetadata.Add(_dtoMetadata);

            return(this);
        }