title: Java 8 lambda api
body: <p>I'm working to migrate from Rx Java to Java 8 lambdas.  One example I can't find is a way to buffer requests.  For example, in Rx Java, I can say the following.</p>
  
  <pre><code>Observable.create(getIterator()).buffer(20, 1000, TimeUnit. MILLISECONDS).doOnNext(list -&gt; doWrite(list));
  </code></pre>
  
  <p>Where we buffer 20 elements into a list, or timeout at 1000 milliseconds, which ever happens first.</p>
  
  <p>Observables in RX are a "push" style observable, where as Streams use a java pull.  Would this be possible implementing my own map operation in streams, or does the inability to emit cause problems with this since the <code>doOnNext</code> has to poll the previous element?</p>