int start= getCompletionPosition();  while ((start != 0) && Character.isUnicodeIdentifierPart(document.getChar(start - 1))) start--;
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();
	public int getStart() {		IDocument document= getDocument();		try {			int start= getCompletionPosition();				while ((start != 0) && Character.isUnicodeIdentifierPart(document.getChar(start - 1)))				start--;							if ((start != 0) && Character.isUnicodeIdentifierStart(document.getChar(start - 1)))				start--;				return start;		} catch (BadLocationException e) {			return getCompletionPosition();			}	}