public SerializedObjectFieldBuilder(Document document, Object value)
		{
			if (document == null)
			{
				throw new ArgumentNullException(nameof(document));
			}

			if (value == null)
			{
				throw new ArgumentNullException(nameof(value));
			}

			this.document = document;
			this.value = value;
			this.compressionBuilder = new CompressionFieldPropertyBuilder<ISerializedObjectFieldBuilder>(this);
		}
		public StringFieldBuilder(Document document, String value)
		{
			if (document == null)
			{
				throw new ArgumentNullException(nameof(document));
			}

			if (String.IsNullOrWhiteSpace(value))
			{
				throw new ArgumentException("Field must not be null or whitespace.", nameof(value));
			}

			this.document = document;
			this.value = value;

			this.storeBuilder = new StoredFieldPropertyBuilder<StringFieldBuilder>(this);
			this.indexBuilder = new IndexedFieldPropertyBuilder<StringFieldBuilder>(this);
			this.termVectorFieldPropertyBuilder = new TermVectorFieldPropertyBuilder<StringFieldBuilder>(this);
			this.compressionBuilder = new CompressionFieldPropertyBuilder<StringFieldBuilder>(this);
			this.boostBuilder = new BoostFieldPropertyBuilder<StringFieldBuilder>(this);
		}