int reorderPeriod = ((int) thePG.getReorderPeriod()) + 1;
int reorderPeriod = ((int) thePG.getReorderPeriod()) + 2;
  public void reconcileInventoryLevels(Collection inventories) {    Iterator inv_list = inventories.iterator();    long today = inventoryPlugin.getCurrentTimeMillis();    int today_bucket;    Inventory inventory;    LogisticsInventoryPG thePG;    while (inv_list.hasNext()) {      // clear out the trailing pointers every time we get another inventory      trailingPointersHash.clear();      allocatedProjections.clear();      inventory = (Inventory)inv_list.next();      thePG = (LogisticsInventoryPG)        inventory.searchForPropertyGroup(LogisticsInventoryPG.class);      today_bucket = thePG.convertTimeToBucket(today);      reconcileThePast(today_bucket, thePG);      //TODO figure out what the end is      // AF - we should get this from the BG (PG)      int end_bucket = 180;      int lastRefillBucket = thePG.getLastRefillRequisitionBucket();      // bump this one more day - otherwise we get withdraws at the boundary      int reorderPeriod = ((int) thePG.getReorderPeriod()) + 1;      if (today_bucket < lastRefillBucket) {        createWithdrawAllocations(today_bucket, lastRefillBucket + reorderPeriod, inventory, thePG);      }      determineProjectionAllocations(lastRefillBucket+ reorderPeriod +1, end_bucket, inventory, thePG);      createBestProjectionAllocations(allocatedProjections, inventory);      allocateLateDeliveries(trailingPointersHash, inventory);    }  }