public static void main(String... args) {
		/*
		 * Loads the file client.properties from the classpath.
		 * It is located within the directory src/main/resources.
		 */
		Config config = new Config("client");

		/*
		 * Retrieve the String value associated with the 'download.dir' key
		 * and print the absolute path of the directory.
		 */
		String downloadPath = config.getString("download.dir");
		File downloadDir = new File(downloadPath);
		System.out.println("Download directory: " + downloadDir.getAbsoluteFile());

		/*
		 * Retrieve host and port of the proxy component to connect to.
		 * Note that port is an Integer and parsed automatically.
		 * If it does not contain a parsable integer, a NumberFormatException is thrown.
		 */
		String proxyHost = config.getString("proxy.host");
		int proxyPort = config.getInt("proxy.tcp.port");
		System.out.printf("Client connects to Proxy at '%s:%d'%n", proxyHost, proxyPort);
		System.out.println(TestUtils.repeat('=', 80));


		/*
		 * Furthermore, if the file is invalid i.e., a value is not defined, a MissingResourceException is thrown.
		 */
		String key = "undefined";
		try {
			System.out.printf("%s = %s%n", key, config.getString(key));
		} catch (MissingResourceException e) {
			System.out.printf("Key '%s' is not defined. Thus a MissingResourceException was thrown.%n", key);
		}


		/*
		 * The same is true for a file, which is not located within the classpath.
		 */
		try {
			new Config("abc");
		} catch (Exception e) {
			System.out.printf(e.getClass().getSimpleName() + ": " + e.getMessage());
		}
	}