private void UpdateCleaner(RebuildLinqQueriesStep.LinqQueriesRebuilder.TransparentIdentifierCleaner cleaner, VariableReference identifier, Dictionary <PropertyDefinition, Expression> propertyToValueMap)
 {
     V_0 = new Dictionary <MethodDefinition, VariableReference>();
     V_1 = propertyToValueMap.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             V_0.Add(V_2.get_Key().get_GetMethod(), ((VariableReferenceExpression)V_2.get_Value()).get_Variable());
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     cleaner.get_TransparentIdentifierToPropertyValueMap().Add(identifier, V_0);
     return;
 }
 private LinqQueryExpression RemoveTransparentIdentifiers(LinqQueryExpression originalQuery)
 {
     V_0 = (LinqQueryExpression)originalQuery.Clone();
     V_1 = new List <VariableReference>();
     V_2 = new RebuildLinqQueriesStep.LinqQueriesRebuilder.TransparentIdentifierCleaner();
     V_3 = new HashSet <VariableReference>();
     V_4 = 0;
     while (V_4 < V_0.get_Clauses().get_Count())
     {
         V_0.get_Clauses().set_Item(V_4, (QueryClause)V_2.Visit(V_0.get_Clauses().get_Item(V_4)));
         V_5 = V_0.get_Clauses().get_Item(V_4);
         if (V_5.get_CodeNodeType() != 73)
         {
             if (V_5.get_CodeNodeType() != 78)
             {
                 if (V_5.get_CodeNodeType() != 74 || V_4 == V_0.get_Clauses().get_Count() - 1)
                 {
                     if (V_5.get_CodeNodeType() == 80)
                     {
                         V_1.Clear();
                         V_1.Add(((IntoClause)V_5).get_Identifier().get_Variable());
                     }
                 }
                 else
                 {
                     V_6 = ((IntoClause)V_0.get_Clauses().get_Item(V_4 + 1)).get_Identifier().get_Variable();
                     if (this.IsTransparentIdentifier(V_6))
                     {
                         V_7 = this.GetPropertyToValueMap((V_5 as SelectClause).get_Expression());
                         if (V_7 == null)
                         {
                             return(originalQuery);
                         }
                         if (V_1.get_Count() != 2)
                         {
                             if (V_1.get_Count() != 1)
                             {
                                 return(originalQuery);
                             }
                             V_8 = this.GenerateLetClause(V_7, V_1.get_Item(0));
                             if (V_8 == null)
                             {
                                 return(originalQuery);
                             }
                             V_0.get_Clauses().set_Item(V_4, V_8);
                             V_0.get_Clauses().RemoveAt(V_4 + 1);
                         }
                         else
                         {
                             if (!this.RemoveIdentifier(V_7, V_1))
                             {
                                 return(originalQuery);
                             }
                             V_0.get_Clauses().RemoveAt(V_4);
                             V_0.get_Clauses().RemoveAt(V_4);
                             V_4 = V_4 - 1;
                         }
                         dummyVar0 = this.methodContext.get_VariablesToRename().Add(V_6.Resolve());
                         dummyVar1 = V_3.Add(V_6);
                         V_1.Clear();
                         V_1.Add(V_6);
                         this.UpdateCleaner(V_2, V_6, V_7);
                     }
                 }
             }
             else
             {
                 if (V_0.get_Clauses().get_Item(V_4 + 1).get_CodeNodeType() == 80)
                 {
                     V_1.Add(((IntoClause)V_0.get_Clauses().get_Item(V_4 + 1)).get_Identifier().get_Variable());
                     V_4 = V_4 + 1;
                 }
                 else
                 {
                     V_1.Add(this.GetVariableReference((V_5 as JoinClause).get_InnerIdentifier()));
                 }
             }
         }
         else
         {
             V_1.Add(this.GetVariableReference((V_5 as FromClause).get_Identifier()));
         }
         V_4 = V_4 + 1;
     }
     if ((new RebuildLinqQueriesStep.LinqQueriesRebuilder.TransparentIdentifierFinder(V_3)).ContainsTransparentIdentifiers(V_0))
     {
         return(originalQuery);
     }
     return(V_0);
 }