public static void main(final String[] args)
	{
		if (args.length != 1)
		{
			System.out.println("First argument: GraphJ file");
			System.exit(1);
		}

		BufferedInputStream fstream = null;
		try
		{
			fstream = new BufferedInputStream(new FileInputStream(args[0]));
		}
		catch (final FileNotFoundException e)
		{
			e.printStackTrace();
		}

		final GraphJournal gJournal = GraphJReader.readGraphJournal(fstream);
		final ClusteringJournal clJournal = GraphJReader.readClusteringJournal(fstream);

		if (null != fstream)
		{
			try
			{
				fstream.close();
			}
			catch (final IOException e)
			{
				e.printStackTrace();
			}
		}

		/*
		 * Print journals to console
		 */
		System.out.println("Graph Journal:");
		int graphOpCounter = 1;
		for (final GraphOperation op : gJournal)
		{
			System.out.println("#" + graphOpCounter + ": " + op.type + " " + op.arg0 + " " + op.arg1 + " " + op.arg2 + "\t\t" + op.type.documentation);
			graphOpCounter++;
		}

		System.out.println("Clustering Journal:");
		int clusterOpCounter = 1;
		for (final ClusteringOperation op : clJournal)
		{
			System.out.println("#" + clusterOpCounter + ": " + op.type + " " + op.arg0 + " " + op.arg1 + " " + op.arg2 + "\t\t" + op.type.documentation);
			clusterOpCounter++;
		}
	}