public void postVisit(Graph<String, String>.Vertex v) {
            if (!done.contains(v.getLabel())) {
                done.add(v.getLabel());
                circle.remove(v.getLabel());
                if (preReq.get(v.getLabel()) != null) {
                    if (fileInfoMap.get(v.getLabel()) != null) {
                        boolean youngest = true;
                        int me = fileInfoMap.get(v.getLabel());
                        for (String a: preReq.get(v.getLabel())) {
                            if (fileInfoMap.get(a) != null) {
                                if (me < fileInfoMap.get(a)) {
                                    youngest = false;
                                }
                            }
                        }
                        if (youngest) {
                            return;
                        }
                    }
                    fileInfoMap.remove(v.getLabel());
                    fileInfoMap.put(v.getLabel(), currTime);
                    for (String x: rules.get(v.getLabel())) {
                        System.out.println(x);
                    }
                }
            }
        }