final SortedSet<IdentifiedHolder> nonAnnotatedGroup = Sets.newTreeSet(new MemberIdentifierComparator());
// spin over all the members and put them into a Map of SortedSets
// any non-annotated members go into additional nonAnnotatedGroup set.
for (final IdentifiedHolder identifiedHolder : identifiedHolders) {
final MemberOrderFacet memberOrder = identifiedHolder.getFacet(MemberOrderFacet.class);
if (memberOrder == null) {
nonAnnotatedGroup.add(identifiedHolder);
continue;
}
final SortedSet<IdentifiedHolder> sortedMembersForGroup = getSortedSet(sortedMembersByGroup, memberOrder.name());
sortedMembersForGroup.add(identifiedHolder);
}
// add the non-annotated group to the first "" group.
final SortedSet<IdentifiedHolder> defaultSet = getSortedSet(sortedMembersByGroup, "");