private static List<Location> getLocations(RandomAccessFile reader)
			throws IOException {
		List<Location> locations = new ArrayList<Location>();
		// Find Definition
		reader.seek(0);
		String line = reader.readLine();
		while (line != null) {
			if (line.contains(LOCATION_DEFINITION_DELIMETER)) {
				String names = line.split(LOCATION_DEFINITION_DELIMETER)[0]
						.trim();
				String[] locs = names.split(" ");
				for (String loc : locs) {
					Location location = new Location(loc);
					locations.add(location);
				}
			}
			line = reader.readLine();
		}
		// Find Remaining Capacity For Locations
		reader.seek(0);
		line = reader.readLine();
		while (line != null) {
			if (line.contains(CAPACITY_DELIMETER)) {
				String data = line.substring(CAPACITY_DELIMETER.length());
				String[] parts = data.split("\\)");
				String name = parts[0].trim();
				String cap = parts[1].trim();
				Location location = LocationUtil.getLocationByName(name,
						locations);
				if (location != null) {
					location.setRemainingCapacity(Integer.parseInt(cap));
				}
			}
			line = reader.readLine();
		}
		return locations;
	}