public void AddFilter(IActionConfirmationFilter filter)
 {
     if (!filterIdToFilter.ContainsKey(filter.GetFilterId()))
     {
         filterIdToFilter.Add(filter.GetFilterId(), filter);
     }
 }
 private void confirmAction(Type action, bool isActionValid, List <IActionConfirmationFilter> filters, ActionConfirmationCallback successCallback, ActionConfirmationCallback failureCallback = null)
 {
     if (isActionValid && filters.Count > 0)
     {
         IActionConfirmationFilter actionConfirmationFilter = filters[0];
         filters.RemoveAt(0);
         actionConfirmationFilter.ShowConfirmation(action, delegate(bool result)
         {
             confirmAction(action, result, filters, successCallback, failureCallback);
         });
     }
     else if (isActionValid)
     {
         successCallback();
     }
     else if (failureCallback != null)
     {
         failureCallback();
     }
 }