anchor.diff:           init_resource_state/1,
            malformed_request_message/3,
            request_type/0,
  -         validate_request/3
  +         validate_request/3,
  +         conflict_message/1
           ]).
   
   -export([
  
positive.code:     UriMap = [ {Name, RouteFun(Name)}  || Name <- ItemNames ],
      chef_json:encode({UriMap}).
  
  conflict_message(data_bag_item, ItemName, BagName) ->
      Msg = <<"Data Bag Item '", ItemName/binary, "' already exists in Data Bag '",
              BagName/binary, "'.">>,
      {[{<<"error">>, [Msg]}]}.
  
negative.code:                                data_bag_item_name = ItemName}}=State) ->
      {binary_to_list(ItemName), Req, State}.
  
  from_json(Req, #base_state{
                             resource_state = #data_state{data_bag_name = DataBagName,
                                                          data_bag_item_ejson = ItemData}
                            } = State) ->
      case chef_wm_base:create_from_json(Req, State, chef_data_bag_item, {authz_id,undefined}, {DataBagName, ItemData}) of
          {true, _, NewState} = BaseCreateResult ->
              %% The Ruby API returns created items as-is, but with added chef_type and
              %% data_bag fields. If those fields are present in the request, they are put
              %% into the raw item data, but the values are overwritten for the return. When
  