anchor.diff:  			{Charged, [Bucket | NewBuckets]}
   	end.
   
  -%% @hidden
  -sort_buckets(#bucket{termination_date = T1}, #bucket{termination_date = T2}) when
  -		T1 =< T2->
  -	true;
  -sort_buckets(_, _)->
  -	false.
  -
   remove_session(SessionList, [H | T]) ->
   	remove_session1(remove_session(SessionList, T), H);
   remove_session(SessionList, []) ->
  
positive.code: 	rating3(Amount, Size, seconds, Validity, UsageSecs, Final, Buckets).
  %% @hidden
  rating3(Price, Size, Type, Validity, Used, Final, Buckets) ->
  	case charge(Type, Used, Final, lists:sort(fun sort_buckets/2, Buckets)) of
  		{Charged, NewBuckets} when Charged < Used ->
  			purchase(Type, Price, Size, Used - Charged, Validity, Final, NewBuckets);
  		{Charged, NewBuckets} ->
  
negative.code: 	end.
  %% @hidden
  determinate_units([#product{price = Prices}], Type, Flag, Used, Validity, Buckets) ->
  	case charge(Type, Used, Flag, Buckets) of
  		{Charged, NewBuckets} when Charged < Used ->
  			PriceType = case Type of
  				octets -> usage;
  