demandGenerator.generateDemandTasks(planTime, frequency, relevantProjs);
demandGenerator.generateDemandTasks(planTime, period, relevantProjs);
  protected void execute() {    if (myOrganization == null) {      myOrganization = getMyOrganization(selfOrganizations.elements());      if (myOrganization != null) {        projectionTaskSubscription = (IncrementalSubscription) blackboard.            subscribe(new ProjectionTaskPredicate(supplyType, getOrgName(), taskUtils));      }    }    /** TODO: MWD Remove     if(orgActivities.getCollection().isEmpty()) {     return;     }     else if((orgStartTime == -1) || (orgEndTime == -1)) {     computeOrgTimes(orgActivities.elements());     }     if (oplanSubscription.getCollection().isEmpty()) {     return;     }     **/    // get the Logistics OPlan (our homegrown version with specific dates).    if ((logOPlan == null) || logisticsOPlanSubscription.hasChanged()) {      Iterator opIt = logisticsOPlanSubscription.iterator();      if (opIt.hasNext()) {        //we only expect to have one        logOPlan = (LogisticsOPlan) opIt.next();      }    }    if (myOrganization == null) {      if (logger.isInfoEnabled()) {        logger.info("\n DemandGeneratorPlugin " + supplyType +                    " not ready to process tasks yet." +                    " my org is: " + myOrganization);      }      return;    }    //nothing for now    if (timerExpired()) {      long planTime = getStartOfPeriod();      if (logger.isInfoEnabled()) {        logger.info("Timer has gone off.  Planning for the next " + ((int) (frequency / getTimeUtils().MSEC_PER_HOUR)) + "hours from " + new Date(planTime));      }      Collection relevantProjs = filterProjectionsOnTime(projectionTaskSubscription,                                                         planTime,                                                         planTime + frequency);      //TODO: MWD Remove debug statements:      if ((getOrgName() != null) &&          (getOrgName().trim().equals("1-35-ARBN"))) {        System.out.println("I'm waking up - new period starts " + new Date(planTime) + " and Num of projections for " + getOrgName() + " is: " + relevantProjs.size());      }      relevantProjs = class9Scheduler.filterProjectionsToMaxSpareParts(relevantProjs);      demandGenerator.generateDemandTasks(planTime, frequency, relevantProjs);      resetTimer();    }  }