public CompositeDataLoader(IDataLoader <TSource> loader, TransformerChain <TLastTransformer> transformerChain = null)
        {
            Contracts.CheckValue(loader, nameof(loader));
            Contracts.CheckValueOrNull(transformerChain);

            Loader      = loader;
            Transformer = transformerChain ?? new TransformerChain <TLastTransformer>();
        }
 internal TransformerChain<ITransformer> GetTransformer()
 {
     var result = new TransformerChain<ITransformer>();
     foreach (var transform in _transforms)
     {
         if (transform.Transform is RowToRowMapperTransform mapper)
         {
             var transformer = mapper.GetTransformer();
             result = result.Append(transformer);
         }
         else
         {
             ITransformer transformer = new TransformWrapper(_host, transform.Transform);
             result = result.Append(transformer);
         }
     }
     return result;
 }