anchor.diff:  inventory(ProductInstance) ->
   	{struct, inventory(record_info(fields, product), ProductInstance, [])}.
   %% @hidden
  +inventory([{"id", Id} | T], Acc) when is_list(Id) ->
  +	inventory(T, Acc#product{id = Id});
   inventory([{"characteristic", Chars} | T], Acc) ->
   	inventory(T, Acc#product{characteristics = instance_chars(Chars)});
   inventory([{"productOffering", {struct, Offer}} | T], Acc) ->
  
positive.code: 			case global:whereis_name(Etag) of
  				undefined ->
  					{error, 412};
  				PageServer ->
  					case ocs_rest:range(Range) of
  						{error, _} ->
  							{error, 400};
  						{ok, {Start, End}} ->
  							query_page(Codec, PageServer, Etag, Query, Filters, Start, End)
  
negative.code: 		case ocs:add_offer(offer(mochijson:decode(ReqData))) of
  			{ok, ProductOffering} ->
  				ProductOffering;
  			{error, Reason} ->
  			{error, Reason} ->
  				throw(Reason)
  		end
  