@Override
 public void classPrepare(ClassPrepareEventSet e) {
   ReferenceType refType = e.getReferenceType();
   SourceModel sm = sourceForClass(refType);
   if (sm != null) {
     sm.addClass(refType);
   }
 }
 // ### Use hash table for this?
 public SourceModel sourceForFile(File path) {
   Iterator<SourceModel> iter = sourceList.iterator();
   SourceModel sm = null;
   while (iter.hasNext()) {
     SourceModel candidate = iter.next();
     if (candidate.fileName().equals(path)) {
       sm = candidate;
       iter.remove(); // Will move to start of list.
       break;
     }
   }
   if (sm == null && path.exists()) {
     sm = new SourceModel(env, path);
   }
   if (sm != null) {
     // At start of list for faster access
     sourceList.add(0, sm);
   }
   return sm;
 }