/// <summary>
        /// Write the specified reference
        /// </summary>
        /// <param name="dataflow">
        /// The reference to write
        /// </param>
        private void WriteDataflowRef(IDataflowReferenceInfo dataflow)
        {
            this.WriteDataflowRefBasic(dataflow);

            ////this.WriteDataSource(dataflow.Datasource);
            this.WriteConstrain(dataflow.Constraint);
        }
        /// <summary>
        /// Handle DataflowRef Child elements
        /// </summary>
        /// <param name="parent">
        /// The parent DataflowRefBean object
        /// </param>
        /// <param name="localName">
        /// The name of the current xml element
        /// </param>
        /// <returns>
        /// The <see cref="StructureReaderBaseV20.ElementActions"/>.
        /// </returns>
        protected ElementActions HandleChildElements(IDataflowReferenceInfo parent, object localName)
        {
            ////if (NameTableCache.IsElement(localName, ElementNameTable.Datasource))
            ////{
            ////    var dataSource = new IDataSourceMutableObject();
            ////    parent.Datasource = dataSource;
            ////    current = dataSource;
            ////}
            ////else 
            ElementActions actions = null;
            if (NameTableCache.IsElement(localName, ElementNameTable.Constraint))
            {
                IContentConstraintMutableObject constrain = this.CreateConstrain();
                parent.Constraint = constrain;
                actions = this.AddNameableAction(constrain, this.HandleChildElements, this.HandleTextChildElement);
            }

            return actions;
        }