What is the logic of hardcoding empty batch as the first return?
The spec says this should be user defined