This is on purpose for performance. 
The ArrayList and HashMap constructed here will be used directly in java. We designed a  customized iterator inside class TransferDrainer, so that we don't need to wrap/unwrap data or copy data from clojure data strucutre to java data structure.