anchor.diff:      {init, Id::?RT:key(), Me::node_details:node_type(), Predecessor::node_details:node_type(), Successor::node:node_type()} |
       {trigger} |
       {cy_cache, Cache::nodelist:nodelist()} |
  -    {rm_buffer, OtherNeighbors::nodelist:neighborhood(), LastPredId::?RT:key(), LastSuccId::?RT:key(), RequestPredsMinCount::non_neg_integer(), RequestSuccsMinCount::non_neg_integer()} |
  +    {rm_buffer, OtherNeighbors::nodelist:neighborhood(), RequestPredsMinCount::non_neg_integer(), RequestSuccsMinCount::non_neg_integer()} |
       {rm_buffer_response, OtherNeighbors::nodelist:neighborhood()} |
       {zombie, Node::node:node_type()} |
       {crash, DeadPid::cs_send:mypid()} |
  
positive.code:                 rm_beh:update_neighbors(Neighborhood),
                  TriggerState;
              false ->
                  LastPredId = node:id(lists:last(nodelist:preds(Neighborhood))),
                  LastSuccId = node:id(lists:last(nodelist:succs(Neighborhood))),
                  RequestPredsMinCount =
                      case nodelist:has_real_pred(Neighborhood) of
                          true  -> get_pred_list_length() - length(nodelist:preds(Neighborhood));
  
negative.code:                         true  -> get_succ_list_length() - length(nodelist:succs(Neighborhood));
                          false -> get_succ_list_length()
                      end,
                  Message = {rm_buffer, Neighborhood, RequestPredsMinCount, RequestSuccsMinCount},
                  cs_send:send_to_group_member(node:pidX(Succ), ring_maintenance,
                                               Message),
                  case Pred =/= Succ of
  