public static final Course readCourse(File definitionFile){
		LOGGER.log(Level.INFO, "Reading course from file '" + definitionFile + "'");
		
		JSONParser parser = new JSONParser();
		JSONObject jsonObject = null;
		try {
			jsonObject = (JSONObject) parser.parse(new FileReader(definitionFile));
		} catch (FileNotFoundException e) { e.printStackTrace();
		} catch (IOException e) { e.printStackTrace();
		} catch (org.json.simple.parser.ParseException e) { e.printStackTrace(); }
		
		Course course = new Course(
			(String)jsonObject.get("name"),
			(String)jsonObject.get("address"),
			(int)((long)jsonObject.get("bestScore")),
			(int)((long)jsonObject.get("averageScore")),
			(int)((long)jsonObject.get("worstScore")),
			(int)((long)jsonObject.get("timesPlayed")),
			new ArrayList<Hole>(),
			(String)jsonObject.get("userWithBestScore"),
			(String)jsonObject.get("description")
		);
		LOGGER.log(Level.INFO, "Created course '" + course.getName() + "'");
		
		return course;
	}