 +        	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<HierarchyNodePermission> nodePerms = dao.findBySearch(HierarchyNodePermission.class, new Search(

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

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