protected void onLinesInserted(int startLine, int endLine) {
		logger.debugging(l -> l.trace("Lines inserted: {}-{}", startLine, endLine));
		TreeSet<Map.Entry<Integer, List<Problem>>> set =
				new TreeSet<>((o1, o2) -> Integer.compare(o2.getKey(), o1.getKey()));
		set.addAll(problems.entrySet());
		set.stream()
				.filter(e -> e.getKey() >= startLine)
				.forEach(e -> {
					int line = e.getKey();
					List<Problem> list = e.getValue();

					// Shift all problems down by the shift amount
					int shift = 1 + endLine - startLine;
					removeByLine(line);
					list.forEach(p -> {
						logger.debugging(l -> l.trace("Move problem '{}' down {} lines", p.message(), shift));
						add(p.withLine(line + shift));
					});
				});
	}
Shifts problems beyond the given range by {@code 1 + (endLine - startLine)}.
Problems in the removed range are deleted.

@param startLine
		Starting range of lines inserted <i>(inclusive)</i>.
@param endLine
		Ending range of lines inserted <i>(inclusive)</i>.
recaf-ui/src/main/java/software/coley/recaf/ui/control/richtext/problem/ProblemTracking.java