public void parseVenues(String venueDirectoryPath, boolean useCategoryFilter, Collection<String> venueIds) {
		// venues is reinitialized.
		venues = new HashMap<String, Venue>();
		
		// venueInfoFiles contains the files of the venues that match the ids
		// of venueIds.
		Collection<File> venueInfoFiles = new ArrayList<File>();
		for (String venueId : venueIds) {
			venueInfoFiles.add(new File(venueDirectoryPath + File.separator + venueId));
		}
		
		// Construction of venues.
		for (File venueInfoFile : venueInfoFiles) {
			if (venueInfoFile.isFile() && !FilenameUtils.getBaseName(venueInfoFile.getName()).equals("")) {
				// The current file is indeed a venue info file.
				try {
					// Creation of a venue from the current venue info file.
					Venue venue = new Venue(FileUtils.readFileToString(venueInfoFile));
					// The file name is the id of the venue.
					String venueId = venueInfoFile.getName();
					
					// Checking whether the venue is blacklisted (i.e. the
					// venue category is not relevant).
					if (!useCategoryFilter || !CategoryHandler.isBlackListedVenueStrict(venue)) {
						// The current venue has at least one relevant category
						// and is added to venues.
						venues.put(venueId, venue);
					}
				} catch (IOException exception) {
					exception.printStackTrace();
				}
			}
		}
	}