private ICollection <R> SyncExecute <T, R>(InputGroup <T> inputGroup, IGroupedCallback <T, R> callback)
 {
     return(callback.Execute(inputGroup.Inputs, true, new Dictionary <string, object>()));
 }
        private Task <ICollection <R> > AsyncExecute <T, R>(InputGroup <T> inputGroup, IGroupedCallback <T, R> callback)
        {
            IDictionary <string, object> dataMap = new Dictionary <string, object>();

            return(Task.Run(() => callback.Execute(inputGroup.Inputs, false, dataMap)));
        }