e.printStackTrace();
	public void loadFromXMLFile(String filename) {		try {			SAXParserFactory factory = SAXParserFactory.newInstance();			factory.setValidating(false);			SAXParser parser = factory.newSAXParser();			XMLReader reader = parser.getXMLReader();			reader.setErrorHandler(new ErrorHandler() {				public void error(SAXParseException x) throws SAXException {					// Debug.err(x.toString());					throw x;				}				public void fatalError(SAXParseException x) throws SAXException {					// Debug.err(x.toString());					throw x;				}				public void warning(SAXParseException x) throws SAXException {					// Debug.err(x.toString());					throw x;				}			});			reader.setEntityResolver(new EntityResolver() {				public InputSource resolveEntity(String publicId,						String systemId) throws SAXException, IOException {					if (systemId.equals(PHONEBOOK_DTD_URI)) {						InputSource is;						is = new InputSource(new StringReader(PHONEBOOK_DTD));						is.setSystemId(PHONEBOOK_DTD_URI);						return is;					}					throw new SAXException("Invalid system identifier: "							+ systemId);				}			});			reader.setContentHandler(new PhonebookFileXMLHandler(this));			reader.parse(new InputSource(new FileInputStream(filename)));		} catch (ParserConfigurationException e) {			Debug.err("Error with ParserConfiguration!");		} catch (SAXException e) {			Debug.err("Error on parsing " + filename + "!");			if (e.getLocalizedMessage().startsWith("Relative URI")					|| e.getLocalizedMessage().startsWith(							"Invalid system identifier")) {				Debug.err(e.getLocalizedMessage());				System.exit(0);			}		} catch (IOException e) {			Debug.err("Could not read " + filename + "!");		}	}