anchor.diff:    
   state(State) ->
     gen_server:call(membership, {state, State}).
  +  
  +replica_nodes(Node) ->
  +  gen_server:call(membership, {replica_nodes, Node}).
     
   partitions() ->
     gen_server:call(membership, partitions).
  
positive.code: -define(VIRTUALNODES, 100).
  
  %% API
  -export([start_link/1, join_node/2, nodes_for_partition/1, nodes_for_key/1, partitions/0, nodes/0, state/0, state/1, old_partitions/0, partitions_for_node/2, fire_gossip/1, partition_for_key/1, stop/0, range/1]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
negative.code:   lists:map(fun({_,P}) -> P end, Matching);
    
  int_partitions_for_node(Node, State, all) ->
    Partitions = State#membership.partitions,
    Nodes = int_replica_nodes(Node, State),
    lists:foldl(fun(E, Acc) -> 
        lists:merge(Acc, int_partitions_for_node(E, State, master)) 
      end, [], Nodes).
    
  int_replica_nodes(Node, State) ->
    Config = State#membership.config,
    n_nodes(Node, Config#config.n, lists:reverse(State#membership.nodes)).
    
  int_nodes_for_key(Key, State) ->
    % error_logger:info_msg("inside int_nodes_for_key~n", []),
  