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("");
        }