code: public static ArticleReaderInterface getTaskReader(
  			final ArchiveDescription archive)
  		throws ConfigurationException, ArticleReaderException
  	{
  		Reader reader = null;
  
  		switch (archive.getType()) {
  		case XML:
  			reader = readXMLFile(archive.getPath());
  			break;
  		case SEVENZIP:
  			reader = decompressWith7Zip(archive.getPath());
  			break;
  		case BZIP2:
  			reader = decompressWithBZip2(archive.getPath());
  			break;
  		default:
  			throw ErrorFactory
  					.createArticleReaderException(ErrorKeys.DELTA_CONSUMERS_TASK_READER_INPUTFACTORY_ILLEGAL_INPUTMODE_VALUE);
  		}
  
  		if (MODE_STATISTICAL_OUTPUT) {
  			return new TimedWikipediaXMLReader(reader);
  		}
  		return new WikipediaXMLReader(reader);
  	}
docs: Returns an ArticleReader which reads the specified input file.
  
  @param archive
  input file
  @return ArticleReaderInterface
  
  @throws ConfigurationException
  if an error occurred while accessing the configuration
  @throws ArticleReaderException
  if an error occurred while parsing the file