// Create the UserList interface
 private void DrawUserInterface()
 {
     for (int i = pnlUserView.Controls.Count - 1; i >= 0; i--)
     {
         Control control = pnlUserView.Controls[i];
         if (control.GetType() == typeof(UserItem))
         {
             pnlUserView.Controls.Remove(control);
         }
     }
     userItems.Clear();
     foreach (var user in DataInstance.users.OrderBy(u => u.Role.Name))
     {
         UserItem userItem = new UserItem();
         userItem.Location = new Point(0, userItem.Size.Height * userItems.Count);
         var userInstance = user;
         userItem.Populate(ref userInstance);
         // Check for repeated users of the same type
         if (userItems.Count > 0 && String.Equals(userItems.Last().UserReference.Role.Name, user.Role.Name))
         {
             // Decide if the UserItem should be displayed with a shade of the same color
             if (!userItems.Last().isUsingAlternativeColor)
             {
                 userItem.AlternativeColor();
             }
         }
         userItems.Add(userItem);
         pnlUserView.Controls.Add(userItem);
     }
 }