 +            int i = 0;
 +            do{ 
 +            	int arraySize = nodeIdsList.size() - i;
-+            	if(arraySize > ORACLE_IN_CLAUSE_SIZE_LIMIT){
++            	if(oracle && arraySize > ORACLE_IN_CLAUSE_SIZE_LIMIT){
 +            		arraySize = ORACLE_IN_CLAUSE_SIZE_LIMIT;
 +            	}
 +            	List<HierarchyPersistentNode> lIterration = dao.findBySearch(HierarchyPersistentNode.class, 

+		int i = 0;
+		do{
+			int arraySize = nodeIdsList.size() - i;
+        	if(arraySize > ORACLE_IN_CLAUSE_SIZE_LIMIT){
+        		arraySize = ORACLE_IN_CLAUSE_SIZE_LIMIT;
+        	}
+			List<HierarchyNodePermission> nodePermsItteration = dao.findBySearch(HierarchyNodePermission.class, 

         }
         return perms;
     }
@@ -821,8 +871,20 @@
         for (String nodeId : nodeIds) {
             m.put(nodeId, new HashMap<String, Set<String>>());
         }
