private static boolean isUnordered(Collection<MemberShape> a, Collection<MemberShape> b) {
        Iterator<MemberShape> aIter = a.iterator();
        Iterator<MemberShape> bIter = b.iterator();

        while (aIter.hasNext()) {
            // If members were removed, then this check is satisfied (though there are
            // other backward incompatible changes that other evaluators will detect).
            if (!bIter.hasNext()) {
                break;
            }

            String oldMember = aIter.next().getMemberName();
            String newMember = bIter.next().getMemberName();
            if (!oldMember.equals(newMember)) {
                return true;
            }
        }

        return false;
    }
Creates a DANGER event when a structure or union member is added
anywhere other than the end of the previous definition or the
member order is changed.
smithy-diff/src/main/java/software/amazon/smithy/diff/evaluators/ChangedMemberOrder.java