private static GuidanceGroupDescriptor LoadGuidanceGroup(XmlNode inputNode, out string groupId)
{
groupId = inputNode.GetXmlNodeValue("@A");
if (string.IsNullOrEmpty(groupId))
return null;
var group = new GuidanceGroup();
group.Description = inputNode.GetXmlNodeValue(@"B");
group.BoundingPolygon = ShapeLoader.LoadPolygon(inputNode.SelectNodes("PLN[0]"));
var patterns = GuidancePatternLoader.LoadGuidancePatterns(inputNode.SelectNodes("GPN"));
group.GuidancePatternIds = patterns.Values.Select(x => x.Id.ReferenceId).ToList();
return new GuidanceGroupDescriptor(group, patterns);
}