protected static TBaseStatus[] Convert <TStatus>(TStatus[] statuses) where TStatus : struct
            {
                if (statuses == null)
                {
                    return(null);
                }
                var result = new TBaseStatus[statuses.Length];

                for (int i = 0; i < statuses.Length; ++i)
                {
                    result[i] = BaseStatusSystem <TObject, TBaseStatus> .Convert(statuses[i]);
                }
                return(result);
            }
 protected static TBaseStatus Convert <TStatus>(TStatus status) where TStatus : struct
 {
     return(BaseStatusSystem <TObject, TBaseStatus> .Convert(status));
 }