code: boolean removeWAB(WAB wab) {
          if (!Thread.holdsLock(this)) {
              throw new IllegalStateException();
          }
  
          //this is invoked _after_ the wab is uninstalled from the web container,
          //and is our chance to forget the wab, thus we don't need to care about
          //the group uninstallation state when we forget this one.
          wabs.remove(wab);
          return wabs.isEmpty();
      }
docs: Tells this wab group to forget this wab
  DOES NOT UNINSTALL the wab.
  
  @param wab
  @return true if group is empty