public static void printInformation() throws InterruptedException {

		mutex.acquire();
		if (information.isEmpty()) {
			System.out.println("There is no logged messages.");
		}
		for (int i = 0; i < information.size(); i++) {
			TimeStampedMessage e = information.get(i);
			@SuppressWarnings("unchecked")
			ArrayList<Integer> list = (ArrayList<Integer>) e.getTimeStamp();

			System.out.print(i + " " + e.getSource() + " to " + e.getDestination() + " "
					+ e.getSequenceNumber());
			System.out.print(": current time stampe is ( ");
			for (int j = 0; j < list.size(); j++) {
				System.out.print(list.get(j) + " ");
			}
			System.out.println(")");
		}

		System.out.print(0);
		for (int i = 1; i < information.size(); i++) {
			System.out.print(compare(i - 1, i));
			System.out.print(i);
		}
		System.out.println("");

		for (int i = 0; i < information.size() - 1; i++) {
			for (int j = i + 1; j < information.size(); j++) {
				String temp = compare(i, j);
				if (temp.equals(" -> "))
					System.out.println(i + compare(i, j) + j);
				else if (temp.equals(" <- ")) {
					System.out.println(j + " -> " + i);
				} else {
					System.out.println(i + compare(i, j) + j);
				}
			}
		}
		mutex.release();

	}