private void getNodeValue(TristateCheckBoxNode node, List v, String fName, boolean isSel) { if (node == null) { return; } boolean isV = isSel ? State.SELECTED.equals(node.getState()) : State.NOT_SELECTED.equals(node.getState()); if (isV) { FieldMapNode fmn = (FieldMapNode) node.getUserObject(); v.add(fmn.getFieldValue(fName)); } for (TristateCheckBoxNode tmp : node.getChildren()) { getNodeValue(tmp, v, fName, isSel); } }