protected internal AbstractField(System.String name, Field.Store store, Field.Index index, Field.TermVector termVector)
		{
			if (name == null)
				throw new System.NullReferenceException("name cannot be null");
			this.internalName = StringHelper.Intern(name); // field names are interned

		    this.internalIsStored = store.IsStored();
		    this.internalIsIndexed = index.IsIndexed();
		    this.internalIsTokenized = index.IsAnalyzed();
		    this.internalOmitNorms = index.OmitNorms();
			
			this.internalIsBinary = false;
			
			SetStoreTermVector(termVector);
		}