anchor.diff:              _ ->
                   OldActive = proplists:get_value(active, OldMap),
                   OldPassive = proplists:get_value(passive, OldMap),
  -                (OldActive ++ OldPassive) -- (Active ++ Passive)
  +                OldIgnore = proplists:get_value(ignore, OldMap),
  +
  +                (OldActive ++ OldPassive ++ OldIgnore) --
  +                    (Active ++ Passive ++ Ignore)
           end,
   
       ?log_debug("Partitions to remove: ~p", [ToRemove]),
  
positive.code: 
      Active = proplists:get_value(active, NewMap),
      Passive = proplists:get_value(passive, NewMap),
  
      ToRemove =
          case OldMap of
  
negative.code:               end
        end, [], IndexedList).
  
  matching_vbuckets(Pred, Map, States) ->
      matching_indexes(
        fun (Ix, [MasterNode | _]) ->
                case MasterNode =:= node() of
                    true ->
                        VBucketState = dict:fetch(Ix, States),
                        Pred(Ix, VBucketState);
                    false ->
                        false
                end
        end, Map).
  
  build_map(BucketConfig, VBucketStates) ->
      Map = proplists:get_value(map, BucketConfig),
  
      case Map of
          undefined ->
              [{active, []}, {passive, []}, {ignore, []}];
          _ ->
              Active = matching_vbuckets(
                         fun (_Vb, State) ->
                                 State =:= active
                         end, Map, VBucketStates),
  
              Ignore = matching_vbuckets(
                         fun (_Vb, State) ->
                                 State =:= dead
                         end, Map, VBucketStates),
  
              FFMap = proplists:get_value(fastForwardMap, BucketConfig),
              Passive =
  