public virtual void Process(PullPipelineArgs args)
 {
     if (args == null)
     {
         throw new ArgumentNullException("args");
     }
     var database = Sitecore.Context.Database;
     if (database == null)
     {
         throw new NullReferenceException("Sitecore.Context.Database");
     }
     var ids = GetDataHandlerItemIds(database);
     foreach (var id in ids)
     {
         PullDataHandlerItem pdhItem = database.GetItem(id);
         if (pdhItem == null)
         {
             continue;
         }
         var reader = pdhItem.DataReader.GetDataReader();
         var hydrator = pdhItem.DataHydrator.GetHydrator();
         var handler = new DataHandler() {DataReader = reader, Hydrator = hydrator, ApplyNullValues = pdhItem.ApplyNullValues};
         if (!args.DataHandlers.Contains(handler))
         {
             args.DataHandlers.Add(handler);
         }
     }
 }
 public virtual void Process(PushPipelineArgs args)
 {
     if (args == null) { throw new ArgumentNullException("args"); }
     if (args.HttpContext == null) { throw new NullReferenceException("args.HttpContext"); }
     if (args.HttpContext.Request == null) { throw new NullReferenceException("args.HttpContext.Request"); }
     var handlerName = args.HttpContext.Request.Url.Segments.Last().Replace("/", string.Empty);
     if (string.IsNullOrEmpty(handlerName))
     {
         return;
     }
     if (args == null)
     {
         throw new ArgumentNullException("args");
     }
     var database = Sitecore.Context.Database;
     if (database == null)
     {
         throw new NullReferenceException("Sitecore.Context.Database");
     }
     var ids = GetDataHandlerItemIds(handlerName, database);
     foreach (var id in ids)
     {
         PushDataHandlerItem pdhItem = database.GetItem(id);
         if (pdhItem == null)
         {
             continue;
         }
         var reader = pdhItem.DataReader.GetDataReader();
         var hydrator = pdhItem.DataHydrator.GetHydrator();
         var handler = new DataHandler() { DataReader = reader, Hydrator = hydrator, ApplyNullValues = pdhItem.ApplyNullValues };
         if (!args.DataHandlers.Contains(handler))
         {
             args.DataHandlers.Add(handler);
         }
     }
 }