protected void assignOffset(Map<Integer, RowSegmentList<E>> offsetMap, RowSegment<E> segment) {

		// assigning offsets to rows is easy, just find the first offset group that we don't
		// overlap with.

		int offset = 0;
		RowSegmentList<E> segments = offsetMap.get(offset);

		while (segments.hasOverlappingSegment(segment)) {
			offset += 2;
			segments = offsetMap.get(offset);
		}
		segment.setOffset(offset);
		segments.addSegment(segment);
	}
Assigns offsets for overlapping row segments. Parallel overlapping edges must be offset
from each other when assigned to layout space to avoid drawing over each other. Each
edge offset represents 1/2 the edge spacing distance. The reason offsets are assigned 2
apart from each other is to be consistent with column segment offsets which must be 2 apart
so that even numbers of edges can be centered on the grid line.
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/layout/flowchart/RowSegmentList.java