public DefaultTreeModel populate(VDC vdc) {
    // by default, expand the root node
    if (collectionToBeExpanded == null) {
      collectionToBeExpanded = vdc.getRootCollection().getId();
    }

    clearNode(getRootNode());
    addVDC(getRootNode(), vdc);
    return tree;
  }
  private void addVDC(DefaultMutableTreeNode parentNode, VDC vdc) {
    if (!new VDCUI(vdc).containsOnlyLinkedCollections()) {
      addCollectionNode(parentNode, vdc.getRootCollection(), vdc, true);
    }

    if (includeLinkedCollections) {
      Iterator iter = new VDCUI(vdc).getLinkedCollections().iterator();
      while (iter.hasNext()) {
        VDCCollection lc = (VDCCollection) iter.next();
        addCollectionNode(parentNode, lc, vdc, false);
      }
    }
  }