public void valueChanged(ListSelectionEvent e) {
		ListSelectionModel lsm = (ListSelectionModel) e.getSource();
		
		if (!e.getValueIsAdjusting()) {
			if (lsm.getSelectionMode() == ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) {
				// burst table
				JTable burstsTable = ((FormProcess) form).getTable();
				
				for (int r = 0; r < burstsTable.getRowCount(); r++) {
					if (burstsTable.isRowSelected(r) && !burstsTable.isColumnSelected(0)) {
						if (burstsTable.isCellSelected(r, 1)) {
							burstsTable.setValueAt(new ColorCell("", Color.LIGHT_GRAY), r, 1);
							burstsTable.setValueAt(new ColorCell("", Color.WHITE), r, 2);
						} else if (burstsTable.isCellSelected(r, 2)) {
							burstsTable.setValueAt(new ColorCell("", Color.WHITE), r, 1);
							burstsTable.setValueAt(new ColorCell("", Color.LIGHT_GRAY), r, 2);
						}
					}
				}
			} else {
				Integer pid = null;
				Integer row = this.getPainter(ARRIVING_PAINTER).detectMouseOver(0, 0);
				if (row != null) {
					pid = new Integer((String) ((ArrivingPainter) this.getPainter(ARRIVING_PAINTER)).getValueAt(row, 0));
					boolean popup = selectElement(pid, this.getPainter(ARRIVING_PAINTER));
					if (popup) this.getPainter(ARRIVING_PAINTER).showPopupMenu();
				}
			}
		}
	}