long startTime;      for (int i = dueOutList.size() - 1; i >= 0; i--) { list = (ArrayList) dueOutList.get(i); if (!list.isEmpty()) { listIter = list.iterator(); while (listIter.hasNext()) { task = (Task) listIter.next(); if (task.getVerb().equals(Constants.Verb.PROJECTWITHDRAW)) { org = TaskUtils.getCustomer(task); startTime = taskUtils.getStartTime(task);  endTime = startTime - MSEC_PER_BUCKET; lastActualSeen = (Long) customerHash.get(org); if ((lastActualSeen == null) || (endTime < lastActualSeen.longValue())) { customerHash.put(org, new Long(endTime)); } } } } }
    public void rebuildCustomerHash() {        customerHash.clear();        ArrayList list;        Iterator listIter;        Task task;        Object org;        Long lastActualSeen;        long endTime;        for (int i = dueOutList.size() - 1; i >= 0; i--) {            list = (ArrayList) dueOutList.get(i);            if (!list.isEmpty()) {                listIter = list.iterator();                while (listIter.hasNext()) {                    task = (Task) listIter.next();                    if (task.getVerb().equals(Constants.Verb.WITHDRAW)) {                        org = TaskUtils.getCustomer(task);                        endTime = taskUtils.getEndTime(task);                        lastActualSeen = (Long) customerHash.get(org);                        if ((lastActualSeen == null) || (endTime > lastActualSeen.longValue())) {                            customerHash.put(org, new Long(endTime));                        }                    }                }            }        }    }