public class DeweyOrderSet implements Comparable<DeweyOrderSet>, Iterable<Object> {
public static DeweyOrderSet createOrderSet(final List<? extends IdentifiedHolder> identifiedHolders) {
final SortedMap<String, SortedSet<IdentifiedHolder>> sortedMembersByGroup = Maps.newTreeMap();
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);