private void openSubfolders( final List<String> openedNodes, final TreeNode node, final ListGridRecord selectedRecord) { TreeNode[] allNewNodes = (node != null) ? getData().getAllNodes(node) : getData().getAllNodes(); for (int i = 0; i < allNewNodes.length; i++) { String newNodeAttribute = allNewNodes[i].getAttributeAsString("path"); if (selectedRecord != null && selectedRecord.getAttributeAsString("path").equals(newNodeAttribute)) { selectRecord(allNewNodes[i]); } if ((node == null || !node.getAttributeAsString("path").equals(newNodeAttribute)) && openedNodes.contains(newNodeAttribute)) { openedNodes.remove(newNodeAttribute); openFolder(openedNodes, allNewNodes[i], selectedRecord); } } }