code: @Override
  	public void processDumpFileContents(InputStream inputStream,
  			MwDumpFile dumpFile) {
  
  		logger.info("Processing JSON dump file " + dumpFile.toString());
  
  		try {
  			try {
  				MappingIterator<EntityDocument> documentIterator = documentReader.readValues(inputStream);
  				documentIterator.getParser().disable(Feature.AUTO_CLOSE_SOURCE);
  
  				while (documentIterator.hasNextValue()) {
  					EntityDocument document = documentIterator.nextValue();
  					handleDocument(document);
  				}
  				documentIterator.close();
  			} catch (JsonProcessingException e) {
  				logJsonProcessingException(e);
  				processDumpFileContentsRecovery(inputStream);
  			}
  		} catch (IOException e) {
  			throw new RuntimeException("Cannot read JSON input: "
  					+ e.getMessage(), e);
  		}
  
  	}
docs: Process dump file data from the given input stream. This method uses the
  efficient Jackson {@link MappingIterator}. However, this class cannot
  recover from processing errors. If an error occurs in one entity, the
  (presumably) less efficient processing method
  {@link #processDumpFileContentsRecovery(InputStream)} is used instead.
  
  @see MwDumpFileProcessor#processDumpFileContents(InputStream, MwDumpFile)