private void ParseNodes(XContainer root) { var streamElements = GetElements(root, "Stream"); StreamsCount = streamElements.Count == 0 ? 1: streamElements.Max(element => int.Parse(element.Attribute("Index").Value)) + 1; for (int stream = 0; stream < StreamsCount; stream++) { Mu.Add(new Vector <double>( ParseMu(StreamsCount == 1? GetElement(root, "Mu") : GetElements(root, "Mu") .Single(element => GetAttributeValue <int>(element.Parent, "Index") == stream)))); Lambda.Add(new Vector <double>( ParseLambda(StreamsCount == 1 ? GetElement(root, "Lambda") : GetElements(root, "Lambda") .Single(element => GetAttributeValue <int>(element.Parent, "Index") == stream), stream))); Ro.Add(Lambda.Last().DivideElementWise(Mu.Last())); } }