private void readMapITP() throws Exception {
		try {
			FileReader fr = new FileReader(mapFilenameITP);
			BufferedReader br = new BufferedReader(fr);

			String str = br.readLine();

			while (str != null) {

				int as1;
				int as2;

				try {
					as1 = Integer.parseInt(str.substring(0, str.indexOf("\t")));
					str = str.substring(str.indexOf("\t") + 1);
					as2 = Integer.parseInt(str.substring(0, str.indexOf("\t")));
				} catch (NumberFormatException e) {
					logger.error("Cannot parse AS number. Line will be ignored.");
					str = br.readLine();
					continue;
				}

				if ((as1 > 65536) || (as2 > 65536)) {
					logger.error("Logical error reading map file - as1 or as2 > 65536. Line will be ignored.");
					str = br.readLine();
					continue;
				}

				if (as1 > as2) {
					logger.warn("Logical error reading map file (as1 > as2). Problem will be ignored...");
				}

				// add vertices if not already present
				graphAS.addVertex(as1);
				graphAS.addVertex(as2);
				// add edge
				graphAS.addEdge(as1, as2);

				// read next line
				str = br.readLine();
			}

			br.close();

		} catch (FileNotFoundException e) {
			logger.fatal("Error during reading map file", e);
			throw new Exception("Error during reading map file");
		} catch (IOException e) {
			logger.fatal("Error during reading map file", e);
			throw new Exception("Error during reading map file");
		}
	}