code: protected ParseWriter streamParseZip( final InputStream is, final StreamParseWriter dout, InputStream bvs ) throws IOException {
      // All output into a fresh pile of NewChunks, one per column
      if (!_setup._parse_type.isParallelParseSupported) throw H2O.unimpl();
      StreamParseWriter nextChunk = dout;
      int zidx = bvs.read(null, 0, 0); // Back-channel read of chunk index
      assert zidx == 1;
      int fileIndex = 0;  // count files being passed.  0 is first file, 1 is second and so on...
      StreamInfo streamInfo = new StreamInfo(zidx, nextChunk);
      while (is.available() > 0) {  // loop over all files in zip file
        streamInfo = readOneFile(is, dout, bvs, streamInfo._nextChunk, streamInfo._zidx, fileIndex++); // read one file in
  //      streamInfo = readOneFile(is, dout, bvs, nextChunk, streamInfo._zidx, fileIndex++); // read one file in
        if (is.available() <= 0) {  // done reading one file, get the next one or quit if at the end
          getNextFile(is);
        }
      }
      streamInfo._nextChunk.close();
      bvs.close();
      is.close();
      if( dout != nextChunk ) dout.reduce(nextChunk);
      return dout;
    }
docs: parse local chunks; distribute chunks later.