code: @Override
      public synchronized File read()
          throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
  
          if (walker == null) {
              this.walker = new SimpleDirectoryWalker(rootDirectory);
              this.walker.start();
              //skip ahead if items have already been processed.
              long itemsRead = getItemsRead();
              if (itemsRead > 0) {
                  for (int i = 0; i < itemsRead; i++) {
                      this.walker.next();
                  }
              }
          }
  
          return this.walker.next();
      }
docs: /* (non-Javadoc)
  @see org.springframework.batch.item.ItemReader#read()