public IEnumerable <IDataflowMessage <TOut> > TransformMany(IDataflowMessage <TIn> item)
 {
     try
     {
         if (item.IsBroken)
         {
             // Kind of unexpected, as those guys should usually be filtered
             return(new List <IDataflowMessage <TOut> >
             {
                 new BrokenDataflowMessage <TOut>(null, item.Data)
             });
         }
         var result = m_Decorated.TransformMany(item.Data).Select(c => new DefaultDataflowMessage <TOut>(c).WithTitle(Title));
         return(result);
     }
     catch (DataflowNetworkRecoverableErrorException recoverableError)
     {
         return(new List <IDataflowMessage <TOut> >
         {
             new BrokenDataflowMessage <TOut>(recoverableError, item.Data)
         });
     }
     catch (DataflowNetworkUnrecoverableErrorException unrecoverableError)
     {
         // bring the network down.
         m_LogAgent.LogFatal(DataflowNetworkConstituent.TransformMany, Title, unrecoverableError);
         m_Cancel.CancelNetwork();
         return(new List <IDataflowMessage <TOut> >
         {
             new BrokenDataflowMessage <TOut>(unrecoverableError, item.Data)
         });
     }
 }