docs: public boolean isUseless() {
  
          boolean useless = true;
          synchronized (conditions) {
              for (Iterator iterator = this.conditions.iterator(); iterator.hasNext(); ) {
                  IObjectReference objRef = (IObjectReference) iterator.next();
                  if (!objRef.isStale() && !((IWatchedCondition) (objRef.get())).isUseless()) {
                      useless = false;
                  }
              }
          }
  
          return useless;
      }