code: @Override
      public AbstractHttpEntity harvest(long generation) {
          ByteBufferEntity enty;
          try {
              m_writers.get(generation).flush();
              enty = new ByteBufferEntity(m_bbos.get(generation).toByteBuffer(), CSVContentType);
          } catch (IOException e) {
              throw new BulkException("unable to flush CSVWriter", e);
          } finally {
              m_bbos.get(generation).reset();
          }
          return enty;
      }
docs: Produces an HttpRequest entity that is not suitable for asynchronous HTTP requests. Once
  an entity is harvested, it must be wholly consumed before more rows can be added to this
  decoder (i.e. with synchronous requests)