public string GetMatchingStoredLayoutId(List <KeyValuePair <string, string> > filterCandidates) { lock (_syncLock) { Initialize(false); string xPath = "dicom-filtered-annotation-layout-configuration/dicom-filtered-annotation-layouts/dicom-filtered-annotation-layout"; XmlNodeList filteredLayoutNodes = _document.SelectNodes(xPath); foreach (XmlElement filteredLayoutNode in filteredLayoutNodes) { DicomFilteredAnnotationLayout filteredAnnotationLayout = DeserializeFilteredLayout(filteredLayoutNode); if (filteredAnnotationLayout.IsMatch(filterCandidates)) { return(filteredAnnotationLayout.MatchingLayoutIdentifier); } } } return(""); }