@SuppressWarnings("unchecked")
 public void regen() {
   List<CheckBoxNode> nodes = new ArrayList<>();
   Enumeration<DefaultMutableTreeNode> children = root.children();
   while (children.hasMoreElements()) {
     CheckBoxNode child = (CheckBoxNode) children.nextElement();
     Enumeration<DefaultMutableTreeNode> childChild = child.children();
     while (childChild.hasMoreElements()) {
       CheckBoxNode leaf = (CheckBoxNode) childChild.nextElement();
       nodes.add(leaf);
     }
   }
   for (CheckBoxNode n : nodes) {
     for (IClass c : n.getClasses()) {
       c.setDrawable(false);
     }
   }
   for (CheckBoxNode n : nodes) {
     if (n.isSelected()) {
       for (IClass c : n.getClasses()) {
         c.setDrawable(true);
       }
     }
   }
   ClassParser.getInstance().regenGV();
 }
 private Map<IPatternDetector, Map<IClass, Set<IClass>>> getPatternInformation() {
   // Need to get the pattern information
   // It is a map of pattern detectors to a list of the pattern sets...
   Map<IPatternDetector, Map<IClass, Set<IClass>>> detectors = new HashMap<>();
   IPatternDetector detector = ClassParser.getInstance().getDetector();
   while (detector != null) {
     detectors.put(detector, detector.getKeyMap());
     detector = detector.getDecorated();
   }
   return detectors;
 }