Program: 190024
Project: 190024
Buggy source:
public NodeDataTable(){
  attributeColumnsController=Lookup.getDefault().lookup(AttributeColumnsController.class);
  outlineTable=new Outline();
  quickFilter=new QuickFilter(){
    public boolean accept(    Object value){
      if (value == null) {
        return false;
      }
      if (value instanceof ImmutableTreeNode) {
        String label=((ImmutableTreeNode)value).getNode().getNodeData().getLabel();
        if (label != null) {
          return pattern.matcher(label).find();
        }
        return false;
      }
      return pattern.matcher(value.toString()).find();
    }
  }
;
  outlineTable.addMouseListener(new PopupAdapter());
  prepareRenderers();
  outlineTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      if (!refreshingTable) {
        EditWindowController edc=Lookup.getDefault().lookup(EditWindowController.class);
        if (edc.isOpen()) {
          if (outlineTable.getSelectedRow() != -1) {
            edc.editNodes(getNodesFromSelectedRows());
          }
 else {
            edc.disableEdit();
          }
        }
      }
    }
  }
);
  outlineTable.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent e){
      if (e.getKeyCode() == KeyEvent.VK_DELETE) {
        Node[] selectedNodes=getNodesFromSelectedRows();
        if (selectedNodes.length > 0) {
          DataLaboratoryHelper dlh=new DataLaboratoryHelper();
          NodesManipulator del=dlh.getDeleteNodesManipulator();
          if (del != null) {
            del.setup(selectedNodes,null);
            if (del.canExecute()) {
              dlh.executeManipulator(del);
            }
          }
        }
      }
    }
  }
);
}

Fixed version (ground truth):
public NodeDataTable(){
  attributeUtils=AttributeUtils.getDefault();
  attributeColumnsController=Lookup.getDefault().lookup(AttributeColumnsController.class);
  outlineTable=new Outline();
  quickFilter=new QuickFilter(){
    public boolean accept(    Object value){
      if (value == null) {
        return false;
      }
      if (value instanceof ImmutableTreeNode) {
        String label=((ImmutableTreeNode)value).getNode().getNodeData().getLabel();
        if (label != null) {
          return pattern.matcher(label).find();
        }
        return false;
      }
      return pattern.matcher(value.toString()).find();
    }
  }
;
  outlineTable.addMouseListener(new PopupAdapter());
  prepareRenderers();
  outlineTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      if (!refreshingTable) {
        EditWindowController edc=Lookup.getDefault().lookup(EditWindowController.class);
        if (edc.isOpen()) {
          if (outlineTable.getSelectedRow() != -1) {
            edc.editNodes(getNodesFromSelectedRows());
          }
 else {
            edc.disableEdit();
          }
        }
      }
    }
  }
);
  outlineTable.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent e){
      if (e.getKeyCode() == KeyEvent.VK_DELETE) {
        Node[] selectedNodes=getNodesFromSelectedRows();
        if (selectedNodes.length > 0) {
          DataLaboratoryHelper dlh=new DataLaboratoryHelper();
          NodesManipulator del=dlh.getDeleteNodesManipulator();
          if (del != null) {
            del.setup(selectedNodes,null);
            if (del.canExecute()) {
              dlh.executeManipulator(del);
            }
          }
        }
      }
    }
  }
);
}