private void treeClicked(MouseEvent e) {
        TreePath selPath = this.tree.getPathForLocation(e.getX(), e.getY());
        if (selPath == null)
            return;

        DefaultMutableTreeNode node = (DefaultMutableTreeNode) selPath
                .getLastPathComponent();
        Object userObj = node.getUserObject();

        if (e.getClickCount() == 2
                && e.getModifiers() == InputEvent.BUTTON1_MASK) {
            if (userObj instanceof FileItem) {
            	FileItem ca =(FileItem)userObj;
            	if (ca.getFullNameA().endsWith(".class")
            	 && ca.getFullNameB().endsWith(".class")
            	 && ca.getStyle() != Style.RED
            	 && ca.getStyle() != Style.YELLOW) {
            		this.selectedItem = ca;
            		try {
            			byte[] dataA = this.filesetA.getData(ca.getFullNameA());
            			byte[] dataB = this.filesetB.getData(ca.getFullNameB());

            			ClassFile cfA = Disassembler.readClass(dataA);
            			ClassFile cfB = Disassembler.readClass(dataB);
            			this.comparePanel.setClassFiles(cfA, cfB);
            			this.tabbedPane.setSelectedComponent(this.comparePanel);
            		} catch (Exception ex) {
            			SystemFacade.getInstance().handleException(ex);
            		}
            	}
            }
        }
    }