+ public void notifyCurrentPath(StructureRegistry<TreeSPath> registry,\r
+ TreeSPath path) {\r
+ if (registry != null) {\r
+ for (TreeSPath p : path.getHierarchyAsList()) {\r
+ if (!elements.containsKey(p)) {\r
+ StructureElement elem = registry.getElement(p);\r
+ if (elem != null) {\r
+\r
+ if (elements.size() == 0\r
+ && (elem instanceof SimpleSElement)) {\r
+ SimpleSElement sElem = ((SimpleSElement) elem)\r
+ .clone();\r
+ sElem.getTags().putAll(rootTags);\r
+ elem = sElem;\r
+ }\r
+\r
+ elements.put(p, elem);\r
+ }\r
+ } else {\r
+ if (log.isTraceEnabled())\r
+ log.trace("An element is already registered for path "\r
+ + p + " and was not updated");\r
+ }\r
+\r
+ }\r
+ }\r
+\r