public XmlFreeState (
			XmlTagState tagState,
			XmlClosingTagState closingTagState,
			XmlCommentState commentState,
			XmlCDataState cDataState,
			XmlDocTypeState docTypeState,
		        XmlProcessingInstructionState processingInstructionState)
		{
			this.tagState = tagState;
			this.closingTagState = closingTagState;
			this.commentState = commentState;
			this.cDataState = cDataState;
			this.docTypeState = docTypeState;
			this.processingInstructionState = processingInstructionState;
			
			Adopt (this.TagState);
			Adopt (this.ClosingTagState);
			Adopt (this.CommentState);
			Adopt (this.CDataState);
			Adopt (this.DocTypeState);
			Adopt (this.ProcessingInstructionState);
		}
        public XmlFreeState(
            XmlTagState tagState,
            XmlClosingTagState closingTagState,
            XmlCommentState commentState,
            XmlCDataState cDataState,
            XmlDocTypeState docTypeState,
            XmlProcessingInstructionState processingInstructionState)
        {
            this.tagState                   = tagState;
            this.closingTagState            = closingTagState;
            this.commentState               = commentState;
            this.cDataState                 = cDataState;
            this.docTypeState               = docTypeState;
            this.processingInstructionState = processingInstructionState;

            Adopt(this.TagState);
            Adopt(this.ClosingTagState);
            Adopt(this.CommentState);
            Adopt(this.CDataState);
            Adopt(this.DocTypeState);
            Adopt(this.ProcessingInstructionState);
        }
		public XmlFreeState (XmlTagState tagState, XmlClosingTagState closingTagState)
			: this (tagState, closingTagState, new XmlCommentState (), new XmlCDataState (),
			  new XmlDocTypeState (), new XmlProcessingInstructionState ()) {}
 public XmlFreeState(XmlTagState tagState, XmlClosingTagState closingTagState)
     : this(tagState, closingTagState, new XmlCommentState(), new XmlCDataState(),
            new XmlDocTypeState(), new XmlProcessingInstructionState())
 {
 }