public static T Load(string key)
        {
            T local = SerializeUtils.Deserialize <T>(key);

            if (local == null)
            {
                local      = new T();
                local.sKey = key;
                local.OnInit(false);
            }
            else
            {
                local.sKey = key;
                local.OnInit(true);
            }

            return(local);
        }
 public virtual bool Save(string key = null)
 {
     return(string.IsNullOrEmpty(key) ?
            SerializeUtils.Serialize(this, sKey) :
            SerializeUtils.Serialize(this, key));
 }