public UnboundPropertyBuilder(Experiment experiment) {
public UnboundPropertyBuilder(Experiment experiment, ExperimentBuilder experimentBuilder) {
  public UnboundPropertyBuilder(Experiment experiment) {    this.experiment = experiment;    isEditable = experiment.isEditable();    isRunnable = experiment.isRunnable();    root = new DefaultMutableTreeNode();    model = new DefaultTreeModel(root);    societies = new DefaultMutableTreeNode(ExperimentTree.SOCIETIES);    recipes = new DefaultMutableTreeNode(ExperimentTree.RECIPES);    societies.setAllowsChildren(true);    recipes.setAllowsChildren(true);    model.insertNodeInto(societies, root, 0);    model.insertNodeInto(recipes, root, 1);    model.setAsksAllowsChildren(true);    tree = new ExperimentTree(model);    // cell editor always returns false so that user can't edit cell names    // using tree.setCellEditor(null) doesn't work    DefaultCellEditor myEditor = new DefaultCellEditor(new JTextField()) {      public boolean isCellEditable(EventObject e) {	return false;      }    };    tree.setCellEditor(myEditor);    tree.setExpandsSelectedPaths(true);    tree.setRootVisible(false);    tree.expandNode(societies);    tree.expandNode(recipes);    tree.addMouseListener(mouseListener);    tree.setPreferredSize(new Dimension(250, 200));    model.addTreeModelListener(myTreeModelListener);    tree.addTreeSelectionListener(myTreeSelectionListener);    // don't allow user to reorder columns    propTable.getTableHeader().setReorderingAllowed(false);    propTable.setCellSelectionEnabled(true);    propTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    propModel.addTableModelListener(myTableModelListener);    rightPanel.add(propScrollPane, BorderLayout.CENTER);    rightPanel.add(new JLabel("Unbound Properties", SwingConstants.CENTER), 		   BorderLayout.NORTH);    splitPane.setRightComponent(rightPanel);    splitPane.setLeftComponent(tree);    setLayout(new BorderLayout());    JPanel trialPanel = new JPanel();    JLabel variationLabel = new JLabel("Variation Scheme:");    String[] variationSchemes = Experiment.getVariationSchemes();    JComboBox cb = new JComboBox(variationSchemes);    variationScheme = variationSchemes[0];    cb.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {	variationSchemeCB_actionPerformed(e);      }    });    trialPanel.add(variationLabel);    trialPanel.add(cb);    JLabel trialLabel = new JLabel("Minimum number of Trials:");    trialCountField = new JTextField("1", 4);    trialCountField.setEditable(false);    trialPanel.add(trialLabel);    trialPanel.add(trialCountField);    add(trialPanel, BorderLayout.NORTH);    add(splitPane, BorderLayout.CENTER);    splitPane.setDividerLocation(100);    for (int i = 0; i < popupActions.length; i++) {      popupMenu.add(popupActions[i]);    }    for (int i = 0; i < societiesActions.length; i++) {      societiesMenu.add(societiesActions[i]);    }    for (int i = 0; i < recipesActions.length; i++) {      recipesMenu.add(recipesActions[i]);    }    initDisplay();  }