Ich hab ein paar Sicherheitsabfragen eingebaut:
Der Trick ist, dass jedes Text-Objekt eine Liste seiner Absätze (und insertionPoints und characters etc) hat.
Egal, was da an Text markiert ist, ich kann es auffordern: Gib mir mal alle deine Absätze. Auch wenn nur ein Absatz markiert ist, kriege ich da eine Liste, ggf mit nur einem Element.
Wenn man am Ende eines Absatzes einfügen will, muss man kontrollieren, ob am Ende des Absatzes ein Return ist. Das ist am Ende eines Textabschnittes nicht notwendigerweise der Fall.