source= source.substring(firstBraket, searchEnd); matchStart += firstBraket;
	protected String findKey(IResource resource, int start, int end, IJavaElement enclosingElement, Position keyPosition) throws CoreException {		if (enclosingElement instanceof ISourceReference) {			int offset= ((ISourceReference) enclosingElement).getSourceRange().getOffset();			int searchStart= end - offset;			int matchStart= end;			String source= ((ISourceReference) enclosingElement).getSource();			if (searchStart >= source.length())				return null;			source= source.substring(searchStart);			if (source.charAt(0) != '.' || Character.isWhitespace(source.charAt(0)))				return null;			int i= source.indexOf(')');			int j= source.indexOf(',');			int firstBraket= source.indexOf('(');			int searchEnd= -1;			if (i == -1)				searchEnd= j;			else if (j == -1)				searchEnd= i;			else				searchEnd= Math.min(i, j);			if (searchEnd == -1 || firstBraket == -1 || searchEnd <= firstBraket)				return null;			source= source.substring(firstBraket, searchEnd);			matchStart += firstBraket;			int firstQuote= source.indexOf('"');			matchStart += firstQuote + 1;			int secondQuote= source.lastIndexOf('"');			if (secondQuote <= firstQuote)				return null;			keyPosition.setOffset(matchStart);			keyPosition.setLength(Math.max(1, secondQuote - firstQuote - 1));			return source.substring(firstQuote + 1, secondQuote);		}		return null;	}