When you examine a user, you can see which groups they are in. This list includes special groups, however rather than showing the special groups of that user, it shows the special groups of the current user. It would be impossible to list the special groups of a user who is not logged in.
The code has been changed to:
// Also need to get all "Special Groups" user is a member of!
// Otherwise, you're ignoring the user's membership to these groups!
// However, we only do this is we are looking up the special groups
// of the current user, as we cannot look up the special groups
// of a user who is not logged in.
if (c.getCurrentUser().getID() == e.getID())
Group specialGroups = c.getSpecialGroups();
for(Group special : specialGroups)