anchor.diff:  ----
   
   == Concurrently transform or traverse collections
  -A common task when working with futures is transforming or traversing a collection that will call a method that
  -returns a future. The standard methods provided can, with enough nesting, leads to difficult to read code:
  +A common task when working with futures is transforming or traversing a collection in serial or parallel that will call
  +a method that returns a future. With only a few levels of nesting, the standard methods for accomplishing this lead to
  +difficult to read code:
   
   .Example 1: Transform and traverse collections, standard method
   [source,scala,numbered]
  
positive.code: }
  ----
  
  == Limiting concurrent parallel Transforming and traversing collections using workers
  
  +s_mach.concurrent+ allows specifying the maximum number of simultaneous workers.
  
  .Example 3: Using +s_mach.concurrent+ workers to transform and traverse collections:
  [source,scala,numbered]
  
negative.code: 
  The same code, rewritten using +s_mach.concurrent+:
  
  .Example 2: Using +s_mach.concurrent+ to transform and traverse collections:
  [source,scala,numbered]
  ----
  val oomItemIdBatch = (1 to 10).toList.map(_.toString).grouped(2).toList
  