if (period <= 0) throw new IllegalArgumentException();
if (period <= 0) return null;
  public Object executePeriodically(long period,                                    Runnable command,                                     boolean startNow) {    if (period <= 0) throw new IllegalArgumentException();    long firstTime = System.currentTimeMillis();    if (!startNow) firstTime += period;    TaskNode task = new TaskNode(firstTime, command, period);     heap_.insert(task);    restart();    return task;  }