public StructureFile load(String name) throws SyntaxException {
		try {
			DocumentBuilder builder = factory.newDocumentBuilder();
			InputStream streamOf = provider.get(name);
			Document doc = builder.parse(streamOf);
			NodeList root = doc.getDocumentElement().getChildNodes();
			Node structureRoot = DOMHelper.findNode(root, "StructureData", strict);
			if (structureRoot == null)
				throw new SyntaxException("Missing StructureData root tag.");
			return readRoot(structureRoot);
		} catch (IOException e) {
			throw new SyntaxException("Can't parse; IOException occured.", e);
		} catch (ParserConfigurationException e) {
			throw new SyntaxException("Can't parse; configuration exception.", e);
		} catch (SAXException e) {
			throw new SyntaxException("Can't parse; document syntax exception.", e);
		}
	}