anchor.diff:  		Service1, Buckets, final, Charge, Charged, 0, 0,
   		#state{rated = Rated, product = P, session_id = SessionId,
   		buckets = OldBuckets}) when Charged >= Charge ->
  -	NewBuckets1 = refund(SessionId, Buckets),
  -	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets1),
  +	NewBuckets = refund(SessionId, Buckets),
  +	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets),
   	NewBRefs = update_buckets(P#product.balance, OldBuckets, NewBuckets2),
   	ok = mnesia:write(P#product{balance = NewBRefs}),
   	Rated1 = rated(Seconds, Octets, Cents, Msgs, Rated),
  
positive.code: 	end,
  	rate6(Service, Buckets, Price, Flag, DebitAmount, ReserveAmount, State).
  %% @hidden
  rate6(Service, Buckets1,
  		#price{units = Units, size = UnitSize, amount = UnitPrice},
  		initial, 0, ReserveAmount, #state{session_id = SessionId} = State) ->
  	case reserve_session(Units, ReserveAmount, SessionId, Buckets1) of
  		{ReserveAmount, Buckets2} ->
  			rate7(Service, Buckets2, initial,
  					0, 0, ReserveAmount, ReserveAmount, State);
  
negative.code: 							ReserveAmount, 0, State)
  			end
  	end;
  rate6(Service, Buckets,
  		#price{units = Units, size = UnitSize, amount = UnitPrice,
  		type = PriceType, currency = Currency}, final, DebitAmount, 0,
  		#state{rated = Rated1, session_id = SessionId} = State) ->
  	Rated2 = Rated1#rated{price_type = PriceType, currency = Currency},
  	case charge_session(Units, DebitAmount, SessionId, Buckets) of
  		{DebitAmount, Buckets2} ->
  			Rated3 = Rated2#rated{bucket_type = Units, usage_rating_tag = included},
  			rate7(Service, Buckets2, final, DebitAmount,
  