public void transformCode(boolean cleanTargetDir) {
		long start = System.currentTimeMillis();
		if (cleanTargetDir) {
			FileUtil.delTree(getTargetPath());
		}
		initialize();
		visit(getPath(), JUST_VISIT_FILES);
		visit(getPath(), DO_TRANSFORMATIONS);
		shutdown();
		getAnnotations().shutdown();
		System.out.println("Job done in " + (System.currentTimeMillis() - start) + " ms.");
	}