NumberCycle nc = new NumberCycle(nextCycle++);
NumberCycle nc = new NumberCycle(nextCycle++, initialValue);
  public void execute () {  if (!wasAwakened()) {    return;  }    Vector additions = new Vector();    if (cycles.size() < maxCycles) {      NumberCycle nc = new NumberCycle(nextCycle++);      additions.add(nc);      getBlackboardService().publishAdd(nc);    }    Vector removals = new Vector();    for (Iterator i = cycles.iterator(); i.hasNext(); ) {      NumberCycle nc = (NumberCycle) i.next();      if (nc.increment()) {        getBlackboardService().publishChange(nc);      }      else {        getBlackboardService().publishRemove(nc);        removals.add(nc);      }    }    cycles.removeAll(removals);    cycles.addAll(additions);    wakeAfter(pauseInterval);  }