public static void ForSubtreePostorder(
     this FilterExpression exp,
     FilterExpressionExtensions.FilterAction filterAction,
     FilterExpressionExtensions.ConditionAction conditionAction)
 {
     exp.ForSubtreePostorder((FilterExpression)null, filterAction, conditionAction);
 }
 public static void ForSubtreePostorder(
     this FilterExpression exp,
     FilterExpression parent,
     FilterExpressionExtensions.FilterAction filterAction,
     FilterExpressionExtensions.ConditionAction conditionAction)
 {
     exp.ForSubtreePostorder(parent, (FilterExpressionExtensions.FilterAction)((e, p) =>
     {
         if (e.Conditions != null)
         {
             foreach (ConditionExpression condition in (Collection <ConditionExpression>)e.Conditions)
             {
                 conditionAction(condition, e);
             }
         }
         filterAction(e, p);
     }));
 }