[ONOS-4839] update file priority for translator and OP param file impl defect fix

Change-Id: Ieaef43f915996ed0a34dfa17c338ab612716b2bc
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
index a86f9ae..3f4c7bf 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
@@ -16,6 +16,12 @@
 
 package org.onosproject.yangutils.linker.impl;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Stack;
 import org.onosproject.yangutils.datamodel.YangAtomicPath;
 import org.onosproject.yangutils.datamodel.YangAugment;
 import org.onosproject.yangutils.datamodel.YangCase;
@@ -37,13 +43,6 @@
 import org.onosproject.yangutils.datamodel.YangUses;
 import org.onosproject.yangutils.linker.exceptions.LinkerException;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-
 import static org.onosproject.yangutils.linker.impl.PrefixResolverType.INTER_TO_INTER;
 import static org.onosproject.yangutils.linker.impl.PrefixResolverType.INTER_TO_INTRA;
 import static org.onosproject.yangutils.linker.impl.PrefixResolverType.INTRA_TO_INTER;
@@ -63,14 +62,12 @@
     private YangNode rootNode;
     private Map<YangAtomicPath, PrefixResolverType> prefixResolverTypes;
     private String curPrefix;
-    private Map<YangAtomicPath, YangNode> resolvedNodes;
 
     /**
      * Creates an instance of x-path linker.
      */
     public YangXpathLinker() {
         absPaths = new ArrayList<>();
-        setResolvedNodes(new HashMap<>());
     }
 
     /**
@@ -156,31 +153,13 @@
     }
 
     /**
-     * Returns resolved nodes.
-     *
-     * @return resolved nodes
-     */
-    public Map<YangAtomicPath, YangNode> getResolvedNodes() {
-        return resolvedNodes;
-    }
-
-    /**
-     * Sets resolved nodes.
-     *
-     * @param resolvedNodes resolved nodes
-     */
-    private void setResolvedNodes(Map<YangAtomicPath, YangNode> resolvedNodes) {
-        this.resolvedNodes = resolvedNodes;
-    }
-
-    /**
      * Adds node to resolved nodes.
      *
      * @param path absolute path
      * @param node resolved node
      */
     private void addToResolvedNodes(YangAtomicPath path, YangNode node) {
-        getResolvedNodes().put(path, node);
+        path.setResolvedNode(node);
     }
 
     /**
@@ -205,13 +184,13 @@
      * Process absolute node path for target leaf.
      *
      * @param atomicPaths atomic path node list
-     * @param root root node
-     * @param leafref instance of YANG leafref
+     * @param root     root node
+     * @param leafref  instance of YANG leafref
      * @return linked target node
      */
     public T processLeafRefXpathLinking(List<YangAtomicPath> atomicPaths, YangNode root, YangLeafRef leafref) {
 
-        YangNode targetNode = null;
+        YangNode targetNode;
         setRootNode(root);
         setPrefixResolverTypes(new HashMap<>());
         parsePrefixResolverList(atomicPaths);
@@ -260,11 +239,8 @@
      * @param leafref instance of YANG leafref
      */
     private void validateInvalidNodesInThePath(YangLeafRef leafref) {
-        Map<YangAtomicPath, YangNode> nodes = getResolvedNodes();
-        Iterator<Map.Entry<YangAtomicPath, YangNode>> nodesIterator = nodes.entrySet().iterator();
-        while (nodesIterator.hasNext()) {
-            Map.Entry<YangAtomicPath, YangNode> nodeInList = nodesIterator.next();
-            YangNode nodeInPath = nodeInList.getValue();
+        for (YangAtomicPath absolutePath : (Iterable<YangAtomicPath>) leafref.getAtomicPath()) {
+            YangNode nodeInPath = absolutePath.getResolvedNode();
 
             if (nodeInPath instanceof YangGrouping || nodeInPath instanceof YangUses
                     || nodeInPath instanceof YangTypeDef || nodeInPath instanceof YangCase
@@ -331,9 +307,7 @@
         YangLeavesHolder holder = (YangLeavesHolder) targetNode;
         List<YangLeaf> leaves = holder.getListOfLeaf();
         if (leaves != null && !leaves.isEmpty()) {
-            Iterator<YangLeaf> leafIterator = leaves.listIterator();
-            while (leafIterator.hasNext()) {
-                YangLeaf leaf = leafIterator.next();
+            for (YangLeaf leaf : leaves) {
                 if (leaf.getName().equals(leafName)) {
                     return leaf;
                 }
@@ -357,9 +331,7 @@
         YangLeavesHolder holder = (YangLeavesHolder) targetNode;
         List<YangLeafList> leavesList = holder.getListOfLeafList();
         if (leavesList != null && !leavesList.isEmpty()) {
-            Iterator<YangLeafList> leafListIterator = leavesList.listIterator();
-            while (leafListIterator.hasNext()) {
-                YangLeafList leafList = leafListIterator.next();
+            for (YangLeafList leafList : leavesList) {
                 if (leafList.getName().equals(leafListName)) {
                     return leafList;
                 }