internal override bool TryGetSchemaObject(string key, out SchemaObject schemaObject)
        {
            schemaObject = null;
            this.ValidateKey(key);
            object obj;

            if (this._Properties.TryGetValue(key, out obj))
            {
                schemaObject = (obj as SchemaObject);
                return(true);
            }
            return(false);
        }
 internal abstract bool TryGetSchemaObject(string key, out SchemaObject schemaObject);
 internal abstract void SetSchemaObject(string key, SchemaObject value);
 internal override void SetSchemaObject(string key, SchemaObject value)
 {
     this.ValidateKey(key);
     this._Properties.AddOrUpdate(key, value, (string existingKey, object existingVale) => value);
 }