this seems a little confusing, and i may just be missing something. looks like its modifying the stepSplitter var as well as returning a set of step execution - maybe encapsulate in a holder class instead. also stepSplitter appears to also always be null given the only call i could find from PartitionStep line 73