anchor.diff:              CHash = lists:foldl(fun({I, Node}, CHashAcc) ->
                   chash:update(get_nth_index(I, CHashAcc), Node, CHashAcc)
               end, InitialCHash, lists:zip(lists:seq(1, length(Nodes)), Nodes)),
  -            set_chash_ring(CHash);
  +            Ring = #ring{type = multi_node, chash = CHash},
  +            set_chash_ring(Ring);
           _ ->
               ok
       end.
  
positive.code:     case get_chash_ring() of
          undefined ->
              error(chash_ring_not_initialized);
          Node when ?IS_SINGLE_NODE_CHASH(Node) ->
              [Node];
          CHash ->
              Index = chash:key_of(Label),
              lists:map(fun({_, Node}) -> Node end, chash:successors(Index, CHash, NodesNum))
      end.
  
  %%--------------------------------------------------------------------
  
negative.code:     case get_chash_ring() of
          undefined ->
              error(chash_ring_not_initialized);
          #ring{type = single_node, chash = Node} ->
              [Node];
          #ring{chash = CHash} ->
              NodesWithIndices = chash:nodes(CHash),
              {_, Nodes} = lists:unzip(NodesWithIndices),
              lists:usort(Nodes)
  