public static ResultsContainer Load(XDocument xdoc, LateralDimensions lateral = default(LateralDimensions)) { var xresult = xdoc.Element("ResultsMT"); if (xresult == null) { throw new ArgumentOutOfRangeException("xdoc"); } if (lateral == default(LateralDimensions)) { lateral = ModelReader.LateralDimensionsFromXElement(xresult); } if (lateral == default(LateralDimensions)) { throw new InvalidOperationException("no lateral dimensions"); } var xfreq = xresult.Element("Frequencies"); var xobs = xresult.Element("Observations"); var xvals = xresult.Element("Values"); if (xfreq == null) { throw new InvalidDataException("Frequencies"); } if (xobs == null) { throw new InvalidDataException("Observations"); } if (xvals == null) { throw new InvalidDataException("Values"); } var result = new ResultsContainer(lateral); return(result); }