@Override
 public AbstractTaskletStepBuilder<SimpleStepBuilder<I, O>> stream(ItemStream stream) {
   if (stream instanceof ItemReader<?>) {
     if (!streamIsReader) {
       streamIsReader = true;
       super.stream(chunkMonitor);
     }
     // In cases where multiple nested item readers are registered,
     // they all want to get the open() and close() callbacks.
     chunkMonitor.registerItemStream(stream);
   } else {
     super.stream(stream);
   }
   return this;
 }
 @Override
 public FaultTolerantStepBuilder<I, O> listener(ChunkListener listener) {
   super.listener(new TerminateOnExceptionChunkListenerDelegate(listener));
   return this;
 }