private final int descriptor;
     private final CodeBag parent;
+    private final String name;
     private ArrayList<Dispatchable> dispatchables = new ArrayList<Dispatchable>();
     private HashMap<String,CodeBag> codeBags = new HashMap<String,CodeBag>();
 
     public CodeBag(CodeBag parent, String name) {
         this.parent = parent;
+        this.name = name;
         this.descriptor = max_allocated_descriptor++;
         codeBagsByDescriptor.put(descriptor, this);
         if (parent != null && name != null)
     }
 
     public String toString() {
+        if (name != null) return name;
         StringBuffer ret = new StringBuffer();
         for(Dispatchable d : dispatchables) {
             ret.append(d);