The code I have now always inserts a line break after the last blocking element in a list item every time the `spaceBlockingElements` function is called. This means that if there is already a line break after the last blocking element before a call to that function due to a previous call to that function or some other reason, there will be two line breaks after the last blocking element. As this function is called more times, more line breaks would continually be added onto the end of the last blocking element in a list item, resulting in too much blank space being inserted after that blocking element. 

This code prevents there from ever being more than one line break after the last blocking element in the list item. I could instead just check when adding a line break after a blocking element to see if one already exists to avoid having to use this code, but I thought there was a chance that that might not cover every case where line breaks could be inserted after the blocking element. I thought doing it this way was a more guaranteed way to prevent extra space accumulating after the last blocking element in a list item, but if you think it would work better doing it the other way, I could easily switch it back to that.