public ResponseSpecificationBuilder Field(
            string name,
            ResponseSpecificationBuilder innerFields
            )
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Name can't be empty");
            }

            fieldName          = name;
            innerFieldsBuilder = innerFields;

            return(new ResponseSpecificationBuilder(this));
        }
        public ResponseSpecificationBuilder Field(
            string name,
            Func <ResponseSpecificationBuilder, ResponseSpecificationBuilder> innerFieldsFunc = null
            )
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Name can't be empty");
            }

            fieldName          = name;
            innerFieldsBuilder = innerFieldsFunc?.Invoke(new ResponseSpecificationBuilder());

            return(new ResponseSpecificationBuilder(this));
        }
 public ResponseSpecificationBuilder(ResponseSpecificationBuilder parentBuilder = null)
 {
     this.parentBuilder = parentBuilder;
 }