anchor.diff:              Children = [{Mbr, Meta, Pos} || {{Mbr, Meta, _}, Pos} <-
                       lists:zip(load_nodes(Fd, LeastRestPos), LeastRestPos)],
               Children2 = [Child1, Child2] ++ Children,
  -?debugVal(length(Children2)),
               {SplittedMbr, {Node1Mbr, _, _}=Node1, {Node2Mbr, _, _}=Node2}
                       = vtree:split_node({MergedMbr, #node{type=inner}, Children2}),
               {ok, Pos1} = couch_file:append_term(Fd, Node1),
               {ok, Pos2} = couch_file:append_term(Fd, Node2),
  -?debugVal(Pos1),
  -?debugVal(Pos2),
               {splitted, SplittedMbr, {Node1Mbr, Pos1}, {Node2Mbr, Pos2}, Inc}
           end
       end.
  
positive.code:     length(ChildrenPos) =< ?MAX_FILLED ->
          NewNode = {MergedMbr, ParentMeta, ChildrenPos},
          {ok, Pos} = couch_file:append_term(Fd, NewNode),
  ?debugVal(Pos),
          {ok, MergedMbr, Pos, 0};
      true ->
  ?debugVal(length(ChildrenPos)),
          %io:format("We need to split (leaf node)~n~p~n", [LeafNode]),
          Children = load_nodes(Fd, ChildrenPos),
  
  
negative.code:     % Both, the new bulk loaded tree and targt tree have the same height
      % => create new common root
      Diff when Diff == 0 ->
      %?debugMsg("same height"),
          if
          length(MbrAndPosList) + 1 =< ?MAX_FILLED ->
              %Mbrs = [Mbr || {Mbr, Pos} <- MbrAndPosList],
  