public CLSVData this[object key] { get { if (this.Value is CLSHashtable) { CLSHashtable hashtable = (CLSHashtable)this.Value; return(hashtable[key]); } return(new CLSVData(this, null)); } set { if (this.Value is CLSHashtable) { CLSHashtable hashtable = (CLSHashtable)this.Value; hashtable[key] = value; if (!hashtable.ContainsKey(key) && (value != null)) { CLSVData data = value; data.Parent = this; data.Container = this.Container; } } } }