OK, There are two ways to solve this with TextSoap 8.
1. Create three separate cleaners and apply two of them as necessary.
Custom Cleaner 2: Collect Multiple Records
Custom Cleaner 3: Finish Record Processing
What you do then, is apply Collect Multiple Records until all the records are processed.
You can add more "Apply: Collect 1 Record" actions to multiply the processing amount per pass.
What happens here is that Collect 1 Record will process text from the beginning of text. It will then grab the 9 fields, convert the returns to tabs and then (the magic here) it takes the end of this "record" and adds a marker "X1X1X1" (this can be anything as long as it is unique to the text and matches whatever is in Finish Record Processing). This leaves everything prior on the first line of text. You can then repeatedly apply this cleaner to process more records.
Note: if you have a LOT of records, it may be beneficial to manually split the text into chunks to boost performance.
Finally, when you've processed all the records, you just need to convert the X1X1X1 marker back to \n (I just realized you wanted \n\n, but you can do that too). Now all your records are processed.
Because it is removing all returns and repeatedly searching through the text, if you have a tone of records, it may take a while. A better option is to break large text into smaller chunks and process it.
In the future, this might be simplified. 🙂
In the 2nd post, I'll show how do to this within a single cleaner using Macros. The only change is how many times you call the macro.