{\r
for (var i = 0; i < now.Count; i++)\r
{\r
- if (prev.Count <= i)\r
+ if (i < prev.Count)\r
{\r
- prev.Add(now[i]);\r
- continue;\r
- }\r
- if (prev.Count > i && prev[i].Name == now[i].Name)\r
- {\r
- UpdateNodes(prev[i].Nodes, now[i].Nodes);\r
- continue;\r
+ if (prev[i].Name == now[i].Name)\r
+ {\r
+ UpdateNodes(prev[i].Nodes, now[i].Nodes);\r
+ continue;\r
+ }\r
+ prev.RemoveAt(i);\r
}\r
- prev.RemoveAt(i);\r
prev.Insert(i, now[i]);\r
}\r
+ for (var i = now.Count; i < prev.Count; i++)\r
+ prev.RemoveAt(i);\r
}\r
\r
// ReSharper disable InconsistentNaming\r