public TaskList read(File importFile) throws TaskIOException {

		if (importFile == null) {
			log.warn(ApplicationSettings.getInstance().getLocalizedMessage("log.err.file"));
			return new TaskList("Empty");
		}

		m_taskList = new TaskList(importFile.getName());
		log.info(ApplicationSettings.getInstance().getLocalizedMessage("log.read.file") + " " + importFile.getName());

		SAXParserFactory spf = SAXParserFactory.newInstance();
		SAXParser sp;

		try {
			sp = spf.newSAXParser();
			SAXHandler sh = new SAXHandler();
			sp.parse(importFile, sh);
		} catch (ParserConfigurationException e) {
			String error = ApplicationSettings.getInstance().getLocalizedMessage("txmlfr.createsax") + ": " + e.getLocalizedMessage();
			log.error(error);
			throw new TaskIOException(error);
		} catch (SAXException e) {
			String error = ApplicationSettings.getInstance().getLocalizedMessage("txmlfr.createsax") + ": " + e.getLocalizedMessage();
			log.error(error);
			throw new TaskIOException(error);
		} catch (IOException e) {
			String error = ApplicationSettings.getInstance().getLocalizedMessage("txmlfr.io") + ": " + e.getLocalizedMessage();
			log.error(error);
			throw new TaskIOException(error);
		} catch (Exception e) {
			log.error(e.getLocalizedMessage());
			throw new TaskIOException(ApplicationSettings.getInstance().getLocalizedMessage("log.err.tlparse"));
		}

		return m_taskList;
	}