private void setupHandListener() {
		textbBranchListener = new MouseAdapter() {

			@Override
			public void mouseMoved(MouseEvent e) {
				Cursor handCursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
				Cursor defaultCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
				
				JTextPane textPane = (JTextPane) e.getSource();
				Point pt = new Point(e.getX(), e.getY());
				int pos = textPane.viewToModel(pt);
				
				if (pos >= 0)
				{
					StyledDocument doc = textPane.getStyledDocument();
					
					if (doc instanceof StyledDocument){
						StyledDocument hdoc = (StyledDocument) doc;
						Element el = hdoc.getCharacterElement(pos);
						AttributeSet a = el.getAttributes();
						String href = (String) a.getAttribute(HTML.Attribute.HREF);
						Integer branch = (Integer) a.getAttribute(HTML.Attribute.LINK);
						if (href != null || (branch != null && branch !=-1)){
							if(getCursor() != handCursor){
								textPane.setCursor(handCursor);
							}
						}
						else{
							textPane.setCursor(defaultCursor);
						}
						
		             }           
				}
			}
			
		};
	}