\r
do {\r
tmpPath.add(currentName);\r
- val dataNodeParent = parent as DataNodeContainer;\r
- for (u : dataNodeParent.uses) {\r
- if (result == null) {\r
- result = getResultFromUses(u, currentName.localName)\r
+ if (parent instanceof DataNodeContainer) {\r
+ val dataNodeParent = parent as DataNodeContainer;\r
+ for (u : dataNodeParent.uses) {\r
+ if (result == null) {\r
+ result = getResultFromUses(u, currentName.localName)\r
+ }\r
}\r
}\r
if (result == null) {
tmpPath.remove(0);
for (name : tmpPath) {\r
- // searching by local name is must, because node has different namespace in its original location
- newParent = (newParent as DataNodeContainer).getDataChildByName(name.localName);
+ // searching by local name is must, because node has different namespace in its original location\r
+ if (newParent instanceof DataNodeContainer) {\r
+ newParent = (newParent as DataNodeContainer).getDataChildByName(name.localName);\r
+ } else {\r
+ newParent = (newParent as ChoiceNode).getCaseNodeByName(name.localName);\r
+ }
}
if (newParent != null && newParent.addedByUses) {
newParent = findOriginal(newParent);