private void setNodeValue(TristateCheckBoxNode node, List vList, String fName, boolean isSel) {
   if (node == null) {
     return;
   }
   FieldMapNode fmn = (FieldMapNode) node.getUserObject();
   boolean isS =
       isSel
           ? vList.contains(fmn.getFieldValue(fName))
           : !vList.contains(fmn.getFieldValue(fName));
   if (isS && node.isLeaf()) {
     node.setState(State.SELECTED);
   }
   for (TristateCheckBoxNode tmp : node.getChildren()) {
     setNodeValue(tmp, vList, fName, isSel);
   }
 }