@SuppressWarnings("static-access") void reload() { Collection<?> children = folder == null ? DDTest6.get().tree1.rootItemIds() : DDTest6.get().tree1.getChildren(folder); if (children == null) { l.removeAllComponents(); return; } else { // make modifiable children = new HashSet<Object>(children); } Set<Component> removed = new HashSet<Component>(); for (Iterator<Component> componentIterator = l.getComponentIterator(); componentIterator.hasNext(); ) { FileIcon next = (FileIcon) componentIterator.next(); if (!children.contains(next.file)) { removed.add(next); } else { children.remove(next.file); } } for (Component component : removed) { l.removeComponent(component); } for (Object object : children) { FileIcon fileIcon = new FileIcon((File) object); l.addComponent(fileIcon); ComponentPosition position = l.getPosition(fileIcon); position.setTop(Float.valueOf((y++ / 5) % 5 * 100), UNITS_PIXELS); position.setLeft(Float.valueOf(x++ % 5 * 100), UNITS_PIXELS); } }