@Kevin,
I'm half expecting you to reply suggesting that I shouldn't be using nested unbounded collections, as the reader of the stream would not know where one collection ends and the other starts.
In my scenario each record will be prepended with a constant (such as HDR, FTR, CAR, CLR), so that the consumer can read the line and know where to split based on the constants. Also, the actual values are of fixed length, so after CAR they would know that the first 5 characters are the carName etc.
Is "A segment of indeterminate size may not follow another component of indeterminate size" a preventative measure that beanio implies? Is there a way of overriding this?