throw new IllegalArgumentException("negative lease duration");
EventReg reg = (EventReg)eventByID.get(new Long(eventID));
if (reg == null ||
!reg.leaseID.equals(leaseID) ||
reg.leaseExpiration <= now)
throw new UnknownLeaseException();
if (renewDuration > maxEventLease &&
renewDuration > reg.leaseExpiration - now)
renewDuration = Math.max(reg.leaseExpiration - now, maxEventLease);
long renewExpiration = now + renewDuration;
/* force a re-sort: must remove before changing, then reinsert */