private ResourceManager()
	{
		m_textTileMap = new HashMap<Integer, TileResource>();
		m_objectsMap = new HashMap<Integer, MovableResource>();
		try {
			
			InputStream is = getClass().getResourceAsStream(RESOURCES_FILE);

			DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
			DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();			
			Document doc = dBuilder.parse(is);

			//optional, but recommended
			//read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
			doc.getDocumentElement().normalize();

			NodeList nList = doc.getElementsByTagName("TileTexture");
			for (int temp = 0; temp < nList.getLength(); temp++) 
			{

				Node nNode = nList.item(temp);

				if (nNode.getNodeType() == Node.ELEMENT_NODE) {

					Element eElement = (Element) nNode;
					ResTextureTileBaseFolder = ((Element)(eElement.getParentNode())).getAttribute("dir");
					String name = eElement.getAttribute("name");
					int id = Integer.valueOf(eElement.getAttribute("id"));
					String fileName = eElement.getAttribute("file");
					String animatedFlag = eElement.getAttribute("animated");
					
					if(animatedFlag != null)
					{
						if(animatedFlag.equals("true"))
						{
							name = name + " (anim\u00E9)";
						}
					}

					TileResource tile = new TileResource(name, id, ResTextureTileBaseFolder, fileName);
					m_textTileMap.put(tile.getId(), tile);
				}
			}
			
			nList = doc.getElementsByTagName("Object");
			for (int temp = 0; temp < nList.getLength(); temp++) 
			{

				Node nNode = nList.item(temp);

				if (nNode.getNodeType() == Node.ELEMENT_NODE) {

					Element eElement = (Element) nNode;
					ResObjectsBaseFolder = ((Element)(eElement.getParentNode())).getAttribute("dir");
					String name = eElement.getAttribute("name");
					int id = Integer.valueOf(eElement.getAttribute("id"));
					String fileName = eElement.getAttribute("file");
					String animatedFlag = eElement.getAttribute("animated");
					
					if(animatedFlag != null)
					{
						if(animatedFlag.equals("true"))
						{
							name = name + " (anim\u00E9)";
						}
					}

					MovableResource tile = new MovableResource(name, id, ResObjectsBaseFolder, fileName);
					m_objectsMap.put(tile.getId(), tile);
				}
			}
			
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Erreur RessourceManager!\n"+e.toString(), "Exception", JOptionPane.ERROR_MESSAGE);
		}

	}