public IBindingInfo Create()
        {
            ResolverTypeBindingInfo cloned = _bindingInfo.Clone();

            if (IsComplete() && !cloned.IsValid())
            {
                cloned.SourceType = cloned.ResolverType;
            }

            return(cloned);
        }
        public IBindingInfo Create()
        {
            ResolverTypeBindingInfo cloned = _bindingInfo.Clone();

            cloned.Fields = ImmutableList.CreateRange(
                _fields.Select(t => t.Create()));

            if (IsComplete() && !cloned.IsValid())
            {
                cloned.SourceType = cloned.ResolverType;
            }

            return(cloned);
        }