this.treeModel = (DefaultTreeModel)this.getModel() ;
	public MainTree (Project _project, MainFrame _frame)	{		super(new DefaultTreeModel(new DefaultMutableTreeNode(Bundle.getText("MainTreeDefault")))) ;		this.project = _project ;		this.mainFrame = _frame ;		/*		 * Building popups		 */		// For ActivityTreeNode		activityPopupMenu = new JPopupMenu() ;		JMenuItem activityAddMenuItem = new JMenuItem(Bundle.getText("MainTreePopupAddActivity")) ;		activityAddMenuItem.addActionListener(new java.awt.event.ActionListener()		{			public void actionPerformed (java.awt.event.ActionEvent e)			{				System.out.println("hey") ;				/*				 * new TaskDescriptorAdderDialog(MainFrame.this, ((ActivityTreeNode)				 * MainFrame.this.projectTree.getPathForRow(localLocation)				 * .getLastPathComponent()).getActivity()) ;				 */			}		}) ;		JMenuItem activityCloseMenuItem = new JMenuItem(Bundle.getText("MainTreePopupClose")) ;		activityPopupMenu.add(activityAddMenuItem) ;		activityPopupMenu.addSeparator() ;		activityPopupMenu.add(activityCloseMenuItem) ;		// For work products		workProductDescriptorPopupMenu = new JPopupMenu() ;		JMenuItem workProductAddMenuItem = new JMenuItem(Bundle.getText("MainTreePopupAddArtifact")) ;		workProductAddMenuItem.addActionListener(new java.awt.event.ActionListener()		{			public void actionPerformed (java.awt.event.ActionEvent e)			{				TreePath localPath = getSelectionPath() ;				if (localPath.getLastPathComponent() instanceof WorkProductDescriptorTreeNode)				{					new ArtifactAdderDialog(MainTree.this.mainFrame, ((WorkProductDescriptorTreeNode) localPath.getLastPathComponent()).getProduct()) ;				}			}		}) ;		JMenuItem workProductCloseMenuItem = new JMenuItem(Bundle.getText("MainTreePopupClose")) ;		workProductDescriptorPopupMenu.add(workProductAddMenuItem) ;		workProductDescriptorPopupMenu.addSeparator() ;		workProductDescriptorPopupMenu.add(workProductCloseMenuItem) ;		// For task descriptors		taskDescriptorPopupMenu = new JPopupMenu() ;		JMenuItem taskDescriptorAddMenuItem = new JMenuItem(Bundle.getText("MainTreePopupAddTask")) ;		taskDescriptorAddMenuItem.addActionListener(new java.awt.event.ActionListener()		{			public void actionPerformed (java.awt.event.ActionEvent e)			{				TreePath localPath = getSelectionPath() ;				if (localPath.getLastPathComponent() instanceof TaskDescriptorTreeNode)				{					new TaskDefinitionAdderDialog(MainTree.this.mainFrame, ((TaskDescriptorTreeNode) localPath.getLastPathComponent()).getTask()) ;				}			}		}) ;		JMenuItem taskDescriptorCloseMenuItem = new JMenuItem(Bundle.getText("MainTreePopupClose")) ;		taskDescriptorPopupMenu.add(taskDescriptorAddMenuItem) ;		taskDescriptorPopupMenu.addSeparator() ;		taskDescriptorPopupMenu.add(taskDescriptorCloseMenuItem) ;		// For RoleDescriptorTreeNode		roleDescriptorPopupMenu = new JPopupMenu() ;		JMenuItem roleDeleteMenuItem = new JMenuItem(Bundle.getText("MainTreePopupDeleteRole")) ;		JMenuItem roleCloseMenuItem = new JMenuItem(Bundle.getText("MainTreePopupClose")) ;		roleDescriptorPopupMenu.add(roleDeleteMenuItem) ;		roleDescriptorPopupMenu.addSeparator() ;		roleDescriptorPopupMenu.add(roleCloseMenuItem) ;		/*		 * Setting misc listeners		 */		this.addMouseListener(new TreeMouseListener()) ;		this.addKeyListener(new TreeKeyListener()) ;		this.addTreeSelectionListener(this) ;		// Setting up the drag source		DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_LINK, this) ;		// Setting up the drop target		new DropTarget(this, DnDConstants.ACTION_LINK, this) ;	}