public virtual ICodeNode VisitIfElseIfStatement(IfElseIfStatement node)
 {
     V_0 = 0;
     while (V_0 < node.get_ConditionBlocks().get_Count())
     {
         V_3 = node.get_ConditionBlocks().get_Item(V_0);
         V_1 = (Expression)this.Visit(V_3.get_Key());
         V_3 = node.get_ConditionBlocks().get_Item(V_0);
         V_2 = (BlockStatement)this.Visit(V_3.get_Value());
         V_2.set_Parent(node);
         node.get_ConditionBlocks().set_Item(V_0, new KeyValuePair <Expression, BlockStatement>(V_1, V_2));
         V_0 = V_0 + 1;
     }
     node.set_Else((BlockStatement)this.Visit(node.get_Else()));
     return(node);
 }