internal StormTuple(ExecuteTuple tuple)
 {
     Id        = tuple.Id;
     Component = tuple.Component;
     TaskId    = tuple.TaskId;
     Stream    = tuple.Stream;
     Tuple     = tuple.Tuple;
 }
 private void DoExecute(ExecuteTuple tuple)
 {
     try
     {
         Execute(new StormTuple(tuple));
         if (IsGuaranteed)
         {
             Ack(tuple.Id);
         }
     }
     catch (Exception ex)
     {
         Logger.Error($"Failed to process tuple. {ex}");
         if (IsGuaranteed)
         {
             Fail(tuple.Id);
         }
     }
 }