public static Map<String, LinkedList<Repository>> loadRepositoryMap() {
		File file = new File(REPOSITORY_FILE);
		if(file.exists() && !file.isDirectory()) {
			try {
				Map<String, LinkedList<Repository>> map = new HashMap<String, LinkedList<Repository>>();
				InputStream stream = new FileInputStream(file);
				JsonReader reader = Json.createReader(stream);
				JsonObject obj = reader.readObject();
				reader.close();

				for(String key : obj.keySet()) {
					LinkedList<Repository> repositoryList = new LinkedList<Repository>();
					JsonArray repositoryArray = obj.getJsonArray(key);
					for(int i = 0; i < repositoryArray.size(); ++i) {
						repositoryList.add(Parser.parseRepository(repositoryArray.getJsonObject(i)));
					}

					map.put(key, repositoryList);
				}

				return map;
			} catch(Exception e) {
				//Malformed file or file does not exist
				e.printStackTrace();
				return new HashMap<String, LinkedList<Repository>>();
			}
		}

		return new HashMap<String, LinkedList<Repository>>();
	}