public void parseCategories(String venueCategoryFilePath) {
		try {
			// json contains the json code of the category file
			String json = FileUtils.readFileToString(new File(venueCategoryFilePath));
	
			JsonParser parser = new JsonParser();
			JsonArray array = parser.parse(json).getAsJsonArray();
			
			// Creation of root, which is an artificial category.
			Category root = new Category();
			root.setId("root");
			root.setName("root");
			root.setPluralName("root");
			root.setShortName("root");
			Collection<String> rootIcon = new ArrayList<String>();
			rootIcon.add("root");
			rootIcon.add(".png");
			root.setIcon(rootIcon);
			root.setCategories(buildCategories(array, root));
			root.setParent(null);
			
			// categories is initialized.
			categories = new HashMap<String, Category>();
			addCategories(root);
		} catch (IOException exception) {
			exception.printStackTrace();
		}
	}