If you use mock endpoints they keep a copy of the exchange send to it. But if you test using a lot of messages (eg lets say 500.000) then that takes up much memory.
So in some cases it may be desireable to just say only keep X number of messages (keepFirst=10&keepLast=10) to keep the first 10 and last 10 messages.
The name of the options could maybe be something more appropriate.
When using these options there may be some assertions that is not possible. But thats an acceptable tradeoff when you just want to use mocks to say, okay I expect at least 250000 messages here. And the first message should be like this, and the last message should be like that. etc.