@Override
 public long updateTagBits() {
   if (!this.inRecursiveFunction) {
     this.inRecursiveFunction = true;
     try {
       if (this.superclass != null) this.tagBits |= this.superclass.updateTagBits();
       if (this.superInterfaces != null)
         for (TypeBinding superIfc : this.superInterfaces)
           this.tagBits |= superIfc.updateTagBits();
     } finally {
       this.inRecursiveFunction = false;
     }
   }
   return super.updateTagBits();
 }