anchor.diff:  %%               is performed when values are retrieved (see itr_value/1 and itr_key_values/1).
   %%               If no resolver is provided no resolution is performed. The default is to
   %%               not provide a resolver.
  +%%   * allow_put: whether or not to write and broadcast a resolved value. defaults to `true'.
   %%   * default: Used when the value an iterator points to is a tombstone. default is
   %%              either an arity-1 function or a value. If a function, the key the iterator
   %%              points to is passed as the argument and the result is returned in place
  
positive.code: itr_key_values({It, Opts}) ->
      Default = itr_default({It, Opts}),
      {Key, Obj} = riak_core_metadata_manager:iterator_value(It),
      case proplists:get_value(resolver, Opts) of
          undefined ->
              {Key, maybe_tombstones(riak_core_metadata_object:values(Obj), Default)};
          Resolver ->
              Prefix = riak_core_metadata_manager:iterator_prefix(It),
              PKey = prefixed_key(Prefix, Key),
              Value = maybe_tombstone(maybe_resolve(PKey, Obj, Resolver), Default),
              {Key, Value}
      end.
  
  
negative.code: %%  * default: value to return if no value is found, `undefined' if not given.
  %%  * resolver:  A function that resolves conflicts if they are encountered. If not given
  %%               last-write-wins is used to resolve the conflicts
  %%  * allow_put: whether or not to write and broadcast a resolved value. defaults to `true'.
  %%
  %% NOTE: an update will be broadcast if conflicts are resolved and
  %% `allow_put' is `true'. any further conflicts generated by
  %% concurrenct writes during resolution are not resolved
  -spec get(metadata_prefix(), metadata_key(), get_opts()) -> metadata_value().
  get({Prefix, SubPrefix}=FullPrefix, Key, Opts)
    when (is_binary(Prefix) orelse is_atom(Prefix)) andalso
  