public JsonObject toJSON() {
		JsonObject obj = new JsonObject();
		Gson gson = new Gson();

		obj.addProperty("title", title);
		obj.addProperty("project", project);

		// Add contributors
		for(String key: contributors.keySet()) {
			if(!contributors.get(key).isEmpty())
				obj.add(key, gson.toJsonTree(contributors.get(key)));
		}

		JsonArray jsonPages = new JsonArray();
		obj.add("pages", jsonPages);
		for(Page page: pages) {
			jsonPages.add(page.toJSON());
		}

		JsonArray jsonImages = new JsonArray();
		obj.add("images", jsonImages);
		for(Image image: images) {
			jsonImages.add(image.toJSON());
		}



		return obj;
	}