anchor.diff:  java.util.stream.Stream<T>, org.jooq.lambda.Seq<T>, java.lang.Iterable<T>, org.reactivestreams.Publisher<T> and adds additional operators.
   
   StreamUtils, Streamable and SequenceM share many operators, in general though SequenceM has the larest range of operators.
  +
  +[IMPORTANT]
  +====
  +Some knowledge of the Java 8 Streams API is assumed here. SequenceM provides all of the Stream operations (by inheriting from Stream) and a lot more. The Oracle tutorial for Streams is a good place to start if you are brand new to this concept.
  +====
  +
   
   === Introduction to StreamUtils
   
  
positive.code: //[[1, 2, 3], [3, 4, 5], [5, 6]]
  ----
  ====
  * Batch / Window by size
  
  Batch / Window by size allows elements to be grouped as they flow through the Stream into Lists or Streamables of the specified size.
  
  
negative.code: 
  https://medium.com/@johnmcclean/reactive-programming-with-java-8-and-simple-react-batching-and-chunking-ecac62ce8bec#.ydm0n1jdc[Also see simple-react tutorial on batching]
  
  image::https://cloud.githubusercontent.com/assets/9964792/6780846/80928004-d160-11e4-85b1-227f9c7652b6.png[]
  
  
  ==== Sliding
  
  Sliding produces a sliding view over a Stream, there are two sliding operators - one that takes just the window size and another that takes window size and the increment to be applied.
  
  