else
catch(BadLocationException bl)
		private void doDoubleClick(MouseEvent evt, int line,			int offset, int dot) throws BadLocationException		{			String lineText = getLineText(line);			String openBrackets = (String)document.getProperty("openBrackets");			String closeBrackets = (String)document.getProperty("closeBrackets");			char ch = lineText.charAt(Math.max(0,offset - 1));			int index = openBrackets.indexOf(ch);			if(index != -1)			{				char closeBracket = closeBrackets.charAt(index);				int[] match = TextUtilities.locateBracketForward(					document,dot - 1,ch,closeBracket);				if(match != null)				{					int mark = getLineStartOffset(match[0])						+ match[1];					select(dot - 1,mark + 1);					return;				}			}			else			{				index = closeBrackets.indexOf(ch);				if(index != -1)				{					char openBracket = openBrackets.charAt(index);					int[] match = TextUtilities.locateBracketBackward(						document,dot - 1,openBracket,ch);					if(match != null)					{						int mark = getLineStartOffset(match[0])							+ match[1];						select(dot,mark);						return;					}				}			}			// Ok, it's not a bracket... select the word			String noWordSep = (String)document.getProperty("noWordSep");			// If the user clicked on a non-letter char,			// we select the surrounding non-letters			boolean selectNoLetter = (!Character				.isLetterOrDigit(ch)				&& noWordSep.indexOf(ch) == -1);			int wordStart = 0;			for(int i = offset - 1; i >= 0; i--)			{				ch = lineText.charAt(i);				if(selectNoLetter ^ (!Character					.isLetterOrDigit(ch) &&					noWordSep.indexOf(ch) == -1))				{					wordStart = i + 1;					break;				}			}			int wordEnd = lineText.length();			for(int i = offset; i < lineText.length(); i++)			{				ch = lineText.charAt(i);				if(selectNoLetter ^ (!Character					.isLetterOrDigit(ch) &&					noWordSep.indexOf(ch) == -1))				{					wordEnd = i;					break;				}			}			int lineStart = getLineStartOffset(line);			select(lineStart + wordStart,lineStart + wordEnd);		}