Q:

How to traverse an ArrayList of Objects

I have an ArrayList of custom made Users. The list is already sorted by manager.My goal is to go through the list by manager and add each user to the body of an email depending on their expiration date.
A User is basically built like this from the database. All necessary accessors/mutators are present:
id|fName|lName|...|manager

Go through the users and notify the manager if the user is expiring:
To: Manager

Expiring in 10 days
<User>
<User>
Expiring in 30 days
<User>

StringBuilder body = new StringBuilder();
ArrayList<Users> contractors;
Date today = cal.getTime();
...
if(contractors != null && contractors.size() > 0){

 for(int i = 0; i < contractors.size(); i++){

  if(i+1 > contractors.size()){
   //do something to avoid outOfBounds and still access last item in the list
  }else{

   if (contractors.get(i+1).getManager() != null){ 
    if(manager.equals(contractors.get(i+1).getManager())){
     if(today.compareTo(contractor.getExpiration()){
       //build body of email
     }
    }
  }
  sendEmail(manager, body.toString());
 }else{
  //new manager
  body.equals(""); // reset email for next run
}
}

After the email is sent I want to move on to the next set of users based on manager. My problem is that I'm having trouble with the logic behind traversing the array by manager and then resetting everytime for each new manager. I'm thinking that I need another for loop?
What's the best way to do this? thanks
Edit
When implemented this way:

A:

I would do it something like this:
if (contractors != null) {
    String currentManager = null;

    for (User contractor : contractors) {
        String contractorManager = contractor.getManager();

        if (!contractorManager.equals(currentManager) {
            // a new manager
            if (currentManager != null) {
                sendEmail(body.toString());
                body.setLength(0);
            }
            currentManager = contractorManager;
        }
        //build body of email ...
    }

    // send the email for the last manager
    sendEmail(body.toString());
}

