while (start != 0 && Character.isUnicodeIdentifierPart(document.getChar(start - 1))) start--;
	public int getStart() {		try {			IDocument document= getDocument();			if (getCompletionLength() == 0) {				int start= getCompletionOffset();						while ((start != 0) && Character.isUnicodeIdentifierPart(document.getChar(start - 1)))					start--;									if ((start != 0) && Character.isUnicodeIdentifierStart(document.getChar(start - 1)))					start--;						return start;						} else {				int start= getCompletionOffset();				int end= getCompletionOffset() + getCompletionLength();								while (start != end && Character.isWhitespace(document.getChar(start)))					start++;								if (start == end)					start= getCompletionOffset();									return start;				}		} catch (BadLocationException e) {			return super.getStart();			}	}