public IComplexTypeBindingBuilder AddField(
            Action <IComplexTypeFieldBindingBuilder> configure)
        {
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var builder = new ComplexTypeFieldBindingBuilder();

            configure(builder);

            if (builder.IsComplete())
            {
                _bindingInfo.Fields = _bindingInfo.Fields.Add(builder.Create());
                return(this);
            }

            // TODO : resources
            throw new ArgumentException("notcompleted", nameof(builder));
        }
        public IComplexTypeBindingBuilder AddField(
            Action <IComplexTypeFieldBindingBuilder> configure)
        {
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var builder = new ComplexTypeFieldBindingBuilder();

            configure(builder);

            if (builder.IsComplete())
            {
                _fields.Add(builder);
                return(this);
            }

            throw new ArgumentException(
                      TypeResources.ComplexTypeBindingBuilder_FieldNotComplete,
                      nameof(configure));
        }