anchor.diff:      ensure_lists_not_empty(Preds, BaseNode, Succs).
   
   %% @doc Merges nodes of Neighbors2 into Neighbors1 and truncates the predecessor
  -%%      and successor lists to the given sizes. 
  +%%      and successor lists to the given sizes.
   -spec merge(Neighbors1::neighborhood(), Neighbors2::neighborhood(), PredsLength::pos_integer(),
               SuccsLength::pos_integer()) -> neighborhood().
   merge(Neighbors1, Neighbors2, PredsLength, SuccsLength) ->
  
positive.code:             SuccOrd = fun(N1, N2) -> succ_ord_node(N1, N2, BaseNode) end,
              SuccsUpdSorted = lists:usort(SuccOrd, ViewUpd),
              PredsUpdSorted = lists:reverse(SuccsUpdSorted),
              
              trunc(new(PredsUpdSorted, BaseNode, SuccsUpdSorted), PredsLength, SuccsLength);
          true ->
              throw_if_newer(NodeToAdd, BaseNode),
  
negative.code:     EtsInsertNewerNodeFun = fun(N) -> ets_insert_newer_node(L1L2Tab, N) end,
      _ = lists:map(EtsInsertNewerNodeFun, L1),
      _ = lists:map(EtsInsertNewerNodeFun, L2),
  
      GetNewNode = fun(Node) -> ets:lookup_element(L1L2Tab, node:pidX(Node), 2) end,
      L1Upd = lists:map(GetNewNode, L1),
      L2Upd = lists:map(GetNewNode, L2),
  