notifyListeners(index1, index2);
notifyListeners(leftIndex, rightIndex);
		public void mouseClicked(MouseEvent e) {			xMouseClick = e.getX();			yMouseClick = e.getY();			if(getOrientation() == SwingConstants.HORIZONTAL) {				int temp = yMouseClick;				yMouseClick = xMouseClick;				xMouseClick = temp;			}			selectedNode = null;			selectedNodes.clear();			java.util.List q = new LinkedList();			q.add(root);			while(!q.isEmpty()) {// FIXME prune search space by starting at leaves within 5 pixels of click and going up tree				TreeNode currentNode = (TreeNode) q.remove(0);				TreeNode leftChild = currentNode.left;				TreeNode rightRhild = currentNode.right;				double pixHeight = yToPix(currentNode.height);				double xPix1 = xToPix(leftChild.position);				double xPix2 = xToPix(rightRhild.position);				if(isSelected((xPix1 + xPix2) / 2, pixHeight)) {// calculate average of xpix1 and xpix2 to get center					selectedNode = currentNode;					updateSelectedNodes(currentNode);					break;				}				if(leftChild != null && leftChild.left != null && leftChild.right != null) {					q.add(leftChild);				}				if(rightRhild != null && rightRhild.left != null && rightRhild.right != null) {					q.add(rightRhild);				}			}			int index1 = -1;			int index2 = -1;			if(selectedNode != null) {				TreeNode temp = selectedNode;				while(temp.left != null) {					temp = temp.left;				}				index1 = (int) temp.position;				temp = selectedNode;				while(temp.right != null) {					temp = temp.right;				}				index2 = (int) temp.position;			}			notifyListeners(index1, index2);			repaint();		}