private void LoadCustomFields()
 {
     if (this._customFieldDesigners == null)
     {
         this._customFieldDesigners = DataControlFieldHelper.GetCustomFieldDesigners(this, this.Control);
     }
     IDataSourceFieldSchema[] fieldSchemas = this.GetFieldSchemas();
     bool flag = (fieldSchemas != null) && (fieldSchemas.Length > 0);
     foreach (KeyValuePair<System.Type, DataControlFieldDesigner> pair in this._customFieldDesigners)
     {
         DataControlFieldDesigner fieldDesigner = pair.Value;
         if (fieldDesigner.UsesSchema && flag)
         {
             DataSourceNode node = new DataSourceNode(pair.Key.Name);
             this._availableFieldsTree.Nodes.Add(node);
             foreach (IDataSourceFieldSchema schema in fieldSchemas)
             {
                 node.Nodes.Add(new DataControlFieldDesignerNode(fieldDesigner, schema));
             }
             node.Expand();
         }
         else
         {
             this._availableFieldsTree.Nodes.Add(new DataControlFieldDesignerNode(fieldDesigner));
         }
     }
 }