anchor.diff:              {ok, #addrid_nodes{addr_id_to = FirstAddrId}} = first_fun(RingGroup2),
               {ok, #addrid_nodes{addr_id_to = LastAddrId}}  = last_fun(RingGroup2),
   
  -            ?debugVal({FirstAddrId, LastAddrId}),
               %% @TODO - debug (unnecessary-codes)
               %% lists:foreach(fun(#ring_group{index_from = From,
               %%                               index_to   = To,
  
positive.code: lookup_fun([],_FirstAddrId,_LastAddrId,_VNodeId) ->
      not_found;
  lookup_fun(RingGroupList, FirstAddrId,_LastAddrId, VNodeId) when FirstAddrId >= VNodeId ->
      first_fun(RingGroupList);
  lookup_fun(RingGroupList,_FirstAddrId, LastAddrId, VNodeId) when LastAddrId < VNodeId ->
      first_fun(RingGroupList);
  lookup_fun(RingGroupList,_FirstAddrId,_LastAddrId, VNodeId) ->
      find_redundancies_by_vnode_id(RingGroupList, VNodeId).
  
  
  %% @doc Find redundanciess by vnodeid
  
negative.code:     get_redundancies(T, Node1, SetL2).
  
  
  %% @doc Reply redundancies
  %% @private
  reply_redundancies(not_found,_) ->
      not_found;
  reply_redundancies({ok, #addrid_nodes{addr_id_to = AddrId,
                                        nodes = Nodes}}, VNodeId) ->
      reply_redundancies_1(AddrId, VNodeId, Nodes, []).
  
  
  reply_redundancies_1(AddrId, VNodeId, [], Acc) ->
      {ok, #redundancies{id       = AddrId,
                         vnode_id = VNodeId,
                         nodes    = lists:reverse(Acc)}};
  reply_redundancies_1(AddrId, VNodeId, [Node|Rest], Acc) ->
      case leo_redundant_manager_table_member:lookup(Node) of
          {ok, #member{state = ?STATE_RUNNING}} ->
              reply_redundancies_1(AddrId, VNodeId, Rest, [{Node, true}|Acc]);
          {ok, #member{state = _State}} ->
              reply_redundancies_1(AddrId, VNodeId, Rest, [{Node, false}|Acc]);
          _ ->
              reply_redundancies_1(AddrId, VNodeId, Rest, Acc)
      end.
  
  
  %% @doc Retrieve first record
  %% @private
  first_fun([]) ->
  