private static void addTokens(List<ClangToken> tokenList, Field[] lines, int lineNumber,
			FieldLocation start, FieldLocation end) {
		if (lineNumber >= lines.length) {
			return;
		}

		ClangTextField textLine = (ClangTextField) lines[lineNumber];
		int startIndex = getStartIndex(textLine, start);
		int endIndex = getEndIndex(textLine, end);
		if (startIndex >= endIndex) {
			// There is a bug in how the start and end field location get created when a line
			// wraps.  This is likely something we can fix if we can get an example that shows this
			// state.  For now, we are adding this error checking to prevent an exception in the
			// call below.
			return;
		}

		tokenList.addAll(textLine.getTokens().subList(startIndex, endIndex));
	}
Find closest addressed token to a specified token or null if one is not found.
Only adjacent tokens on the same line are examined.
@param token the query token
@return closest addressed token
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerUtils.java