Iterator list = customerHash.values().iterator();  if (!list.hasNext()) { return -1;
Iterator list = customerHash.values().iterator();  if (!list.hasNext()) { return -1; } long firstSeen = convertBucketToTime(dueOutList.size() - 1); while (list.hasNext()) { long time = ((Long) list.next()).longValue(); if (firstSeen > time) { firstSeen = time; } }   return (convertTimeToBucket(firstSeen) + 1);
  public int getFirstProjectWithdrawBucket() {    Iterator list = customerHash.values().iterator();    // if we don't have any actual demand signal with -1    if (!list.hasNext()) {	return -1;    }    long firstSeen = convertBucketToTime(dueOutList.size()-1);    while (list.hasNext()) {      long time = ((Long)list.next()).longValue();      if (firstSeen > time) {	firstSeen = time;      }    }    // return the bucket after the first seen actual's end time bucket    // consistent with getEffectiveProjectionStart    return (convertTimeToBucket(firstSeen) + 1);  }