diff -r 6df19843e498 src/org/openbravo/base/secureApp/OrgTree.java
--- a/src/org/openbravo/base/secureApp/OrgTree.java	Thu Jun 30 19:41:31 2016 +0200
+++ b/src/org/openbravo/base/secureApp/OrgTree.java	Tue Aug 02 17:27:07 2016 +0200
@@ -204,9 +204,9 @@
     String s = "";
     if (nodes == null)
       return "";
-    for (int i = 0; i < nodes.toArray().length; i++) {
+    for (int i = 0; i < nodes.size(); i++) {
       if (nodes.get(i) != null)
-        s += "'" + nodes.get(i).getId() + "'" + ((i < nodes.toArray().length - 1) ? "," : "");
+        s += "'" + nodes.get(i).getId() + "'" + ((i < nodes.size() - 1) ? "," : "");
     }
     return s;
   }
@@ -218,10 +218,10 @@
     String s = "";
     if (nodes == null)
       return "";
-    for (int i = 0; i < nodes.toArray().length; i++) {
+    for (int i = 0; i < nodes.size(); i++) {
       if (nodes.get(i) != null)
         s += nodes.get(i).getId() + " - " + nodes.get(i).getValue()
-            + ((i < nodes.toArray().length - 1) ? "\n" : "");
+            + ((i < nodes.size() - 1) ? "\n" : "");
     }
     return s;
   }
@@ -233,7 +233,7 @@
    */
   private void addTree(OrgTree t1) {
     if ((t1 != null) && (t1.nodes != null)) {
-      for (int i = 0; i < t1.nodes.toArray().length; i++) {
+      for (int i = 0; i < t1.nodes.size(); i++) {
         if (!this.isNodeInTree(t1.nodes.get(i).getId()))
           this.nodes.add(t1.nodes.get(i));
       }
@@ -278,15 +278,15 @@
         list.add(getNodeById(parentNodeId));
       else {
         boolean exists = false;
-        for (int i = 0; i < list.toArray().length; i++)
+        for (int i = 0; i < list.size(); i++)
           if (list.get(i).equals(parentNodeId))
             exists = true;
         if ((!exists) && (withZero || !getNodeById(parentNodeId).getId().equals("0")))
           list.add(getNodeById(parentNodeId));
       }
     }
-    if (childNodes.toArray().length != 0)
-      for (int i = 0; i < childNodes.toArray().length; i++)
+    if (childNodes.size() != 0)
+      for (int i = 0; i < childNodes.size(); i++)
         getDescendantTreeList(childNodes.get(i).getId(), list, repeatNodes, withZero);
 
   }
@@ -307,7 +307,7 @@
   private OrgTreeNode getNodeById(String id) {
     if (nodes == null)
       return null;
-    for (int i = 0; i < nodes.toArray().length; i++)
+    for (int i = 0; i < nodes.size(); i++)
       if (nodes.get(i).equals(id))
         return nodes.get(i);
     return null;
@@ -319,7 +319,7 @@
   private boolean isNodeInTree(String id) {
     if (nodes == null)
       return false;
-    for (int i = 0; i < nodes.toArray().length; i++)
+    for (int i = 0; i < nodes.size(); i++)
       if (nodes.get(i).equals(id))
         return true;
     return false;
@@ -331,7 +331,7 @@
   private List<OrgTreeNode> getNodesWithParent(String parentId) {
     List<OrgTreeNode> vecNodes = new ArrayList<OrgTreeNode>();
     int idx = 0;
-    for (int i = 0; i < nodes.toArray().length; i++)
+    for (int i = 0; i < nodes.size(); i++)
       if (nodes.get(i).getParentId().equals(parentId)) {
         vecNodes.add(idx++, nodes.get(i));
       }
