anchor.diff:      %% Assemble the group iterator...
       BufferIterators = [mi_buffer:iterator(X) || X <- Buffers],
       SegmentIterators = [mi_segment:iterator(X) || X <- Segments],
  -    GroupIterator = build_group_iterator(BufferIterators ++ SegmentIterators),
  +    GroupIterator = build_iterator_tree(BufferIterators ++ SegmentIterators),
   
       %% Fold over everything...
       %% SLF TODO: If filter fun or other crashes, server crashes.
  
positive.code:         %% Create the group iterator...
          process_flag(priority, high),
          SegmentIterators = [mi_segment:iterator(X) || X <- SegmentsToCompact],
          GroupIterator = build_group_iterator(SegmentIterators),
  
          %% Create the new compaction segment...
          <<MD5:128/integer>> = erlang:md5(term_to_binary({now, make_ref()})),
  
negative.code:     %% Put together the group iterator...
      BufferIterators = [mi_buffer:iterator(IFT, IFT, X) || X <- Buffers],
      SegmentIterators = [mi_segment:iterator(IFT, IFT, X) || X <- Segments],
      GroupIterator = build_iterator_tree(BufferIterators ++ SegmentIterators),
  
      %% Start streaming...
      stream_inner(F, undefined, undefined, GroupIterator()),
  