I'd use two separate Pull From List activities. The first pulls any item (with a low backorder priority). The token then continues down and pulls more items of the same type until the batch size is reached (with high backorder priority). In order to allow items to be pulled while the ASRS is still busy with the previous one I put the transport tasks into a subflow. The 'main' token creates a token in there and can then immediately pull another item, so pallets will first be filled up before another one can pull an item of that type.