this.cfg = cfg;  int numBlocks = cfg.getNumBasicBlocks(); colorList = new int[numBlocks]; discoveryTimeList = new int[numBlocks]; finishTimeList = new int[numBlocks];  int maxEdgeId = cfg.getMaxEdgeId(); dfsEdgeTypeList = new int[maxEdgeId];  timestamp = 0;  topologicalSortList = new LinkedList<BasicBlock>();
super(cfg);
	public DepthFirstSearch(CFG cfg) {		this.cfg = cfg;		int numBlocks = cfg.getNumBasicBlocks();		colorList = new int[numBlocks]; // initially all elements are WHITE		discoveryTimeList = new int[numBlocks];		finishTimeList = new int[numBlocks];		int maxEdgeId = cfg.getMaxEdgeId();		dfsEdgeTypeList = new int[maxEdgeId];		timestamp = 0;		topologicalSortList = new LinkedList<BasicBlock>();	}