I have to confess that I did not invest that much thinking in these lines. I just added the serializer where it was missing and it worked. (Actually it is almost the same as the current solution for the record API).
There are records passed to the mapper, in fact that is exactly the criterion for termination we are checking for. Can it be connected to the fact that the mapper is chained anyway and there is no serialization at all?