/// <inheritdoc />
 public OcApiResult <TOut> ConvertToApiResult <TIn, TOut>(IOcApiResult <TIn> apiResultIn) where TIn : class where TOut : class
 {
     if (apiResultIn == null)
     {
         return(null);
     }
     try
     {
         return(new OcApiResult <TOut>(apiResultIn.Name, Convert <TIn, TOut>(apiResultIn.Data), apiResultIn.Messages));
     }
     catch (OcDataMappingException)
     { throw; }
     catch (Exception ex)
     { throw new OcDataMappingException($"Exception trying to convert data from OcApiResult<{typeof(TIn).FriendlyName()}> to OcApiResult<{typeof(TOut).FriendlyName()}>", ex, typeof(TIn), typeof(TOut)); }
 }
        /// <inheritdoc />
        public OcApiResult <IReadOnlyList <TOut> > ConvertToApiResultList <TIn, TOut>(IOcApiResult <IReadOnlyList <TIn> > apiResultList) where TIn : class where TOut : class
        {
            if (apiResultList == null)
            {
                return(null);
            }

            try
            {
                var listOut = apiResultList.Data.Where(i => i != null).Select(Convert <TIn, TOut>).Where(converted => converted != null).ToList();
                return(new OcApiResult <IReadOnlyList <TOut> >(apiResultList.Name, listOut.Count == 0 ? null : listOut, apiResultList.Messages));
            }
            catch (OcDataMappingException)
            { throw; }
            catch (Exception ex)
            { throw new OcDataMappingException($"Exception trying to convert data from IOcApiResult<IReadOnlyList<{typeof(TIn).FriendlyName()}> to OcApiResult<IReadOnlyList<{typeof(TOut).FriendlyName()}>", ex, typeof(TIn), typeof(TOut)); }
        }
 => throw new NotImplementedException();      // Future
 public OcApiResult <IReadOnlyList <TOut> > ConvertToApiResultList <TIn, TOut>(IOcApiResult <IReadOnlyList <TIn> > entityList) where TIn : class where TOut : class
 => throw new NotImplementedException();      // Future
 => throw new NotImplementedException();      // Future
 public OcApiResult <TOut> ConvertToApiResult <TIn, TOut>(IOcApiResult <TIn> apiResult) where TIn : class where TOut : class
 => throw new NotImplementedException();      // Future