private MouseListener createProductContainerTreeMouseListener() {
		return new MouseAdapter() {
			
			@Override
			public void mousePressed(MouseEvent e) {
				handleMouseEvent(e);
			}

			@Override
			public void mouseReleased(MouseEvent e) {
				handleMouseEvent(e);
			}
			private void handleMouseEvent(MouseEvent e) {
				if (eventsAreDisabled()) {
					return;
				}
				ProductContainerTreeNode node = 
					(ProductContainerTreeNode)TreeOperations.getSelectedTreeNode(_productContainerTree);
				if (node != null) {
					if (node.isAllStorageUnits()) {
						if (e.isPopupTrigger()) {
							_productContainerTree.requestFocus();
							enableAllStorageUnitsMenuItems();
							_allStorageUnitsMenu.show(e.getComponent(), e.getX(), e.getY());
						}
					}
					else if (node.isStorageUnit()) {
						if (e.isPopupTrigger()) {
							_productContainerTree.requestFocus();
							enableStorageUnitMenuItems();
							_storageUnitMenu.show(e.getComponent(), e.getX(), e.getY());
						}
					}
					else if (node.isProductGroup()) {
						if (e.isPopupTrigger()) {
							_productContainerTree.requestFocus();
							enableProductGroupMenuItems();
							_productGroupMenu.show(e.getComponent(), e.getX(), e.getY());
						}
					}
				}
			}
		};
	}