if (today_bucket < lastWithdrawBucket) {
if (today_bucket <= lastWithdrawBucket) {
  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);      int end_bucket = thePG.getLastDemandBucket();      int lastWithdrawBucket = thePG.getLastWithdrawBucket();      int firstProjectBucket = thePG.getFirstProjectWithdrawBucket();      if (firstProjectBucket == -1) {	  firstProjectBucket = today_bucket;      }      // bump this one more day - otherwise we get withdraws at the boundary      if (today_bucket < lastWithdrawBucket) {        createWithdrawAllocations(today_bucket, lastWithdrawBucket, inventory, thePG);      }      determineProjectionAllocations(firstProjectBucket, end_bucket, inventory, thePG);      createBestProjectionAllocations(allocatedProjections, inventory, thePG);      allocateLateDeliveries(trailingPointersHash, inventory);      allocateEarlyProjections(firstProjectBucket, inventory, thePG);    }  }