private void AddField( string tag )
        {
            string value = _register.GetTag( tag ) ;

            if ( value != null )
            {
                XDataControl control ;

                if ( tag == "password" )
                {
                    control = new XDataSecret() ;
                }
                else if ( tag == "key" )
                {
                    control = new XDataHidden() ;
                }
                else
                {
                    control = new XDataTextBox() ;
                }

                Field field = new Field( tag, TextUtil.ToTitleCase( tag ), FieldType.Text_Single ) ;
                field.IsRequired = false ;
                field.AddValue( value ) ;
                field.Description = tag ;

                control.Field = field ;

                _container.Children.Add( control ) ;
            }
        }
        private void CreateFieldControl( Field field )
        {
            XDataControl control = null ;

            switch ( field.Type )
            {
                case FieldType.Boolean:
                    {
                        control = new XDataCheckBox() ;
                        break ;
                    }
                case FieldType.Fixed:
                    {
                        control = new XDataFixed() ;
                        break ;
                    }
                case FieldType.Hidden:
                    {
                        control = new XDataHidden() ;
                        break ;
                    }
                case FieldType.List_Multi:
                    {
                        control = new XDataListMulti() ;
                        break ;
                    }
                case FieldType.List_Single:
                    {
                        control = new XDataListSingle() ;
                        break ;
                    }
                case FieldType.Text_Private:
                    {
                        control = new XDataSecret() ;
                        break ;
                    }
                case FieldType.Jid_Multi:
                case FieldType.Jid_Single:
                case FieldType.Text_Multi:
                case FieldType.Text_Single:
                    {
                        control = new XDataTextBox() ;
                        break ;
                    }
                default:
                    {
                        control = new XDataFixed() ;
                        break ;
                    }
            }

            control.Field = field ;
            _container.Children.Add( control ) ;
        }