anchor.diff:  		error -> undefined
   	end.
   
  +get_info_list_by_map(MapId, State) ->
  +	case dict:find(MapId, State#state.by_map) of
  +		{ok, Value} -> Value;
  +		error -> []
  +	end.
   %%
   %% Callbacks
   %%
  
positive.code: %% Internal
  %%
  
  %% move in same map.
  update_all_state(OldValue, NewValue, State)
  	when is_record(OldValue, info),
  		is_record(NewValue, info),
  		OldValue#info.map == NewValue#info.map ->
  	State;
  
  %% move to another map.
  update_all_state(OldValue, NewValue, State) ->
  
negative.code: %%
  
  test() ->
  	start_link(),
  	Info1_1_1 = #info{id=1, map=m1, x=101, y=101},
  	Info1_1_2 = #info{id=1, map=m1, x=102, y=102},
  	Info1_2_1 = #info{id=1, map=m2, x=101, y=101},
  	Info2_1_1 = #info{id=2, map=m1, x=101, y=101},
  	Info2_2_2 = #info{id=2, map=m2, x=102, y=101},
  	set_info(1, Info1_1_1),
  	set_info(1, Info1_1_2),
  	set_info(2, Info2_1_1).
  
  get_info(Id) ->
  	{ok, V} = gen_server:call(?MODULE, {get_info, Id}) ,
  	V.
  
  get_info(Id, Default) ->
  	{ok, V} = gen_server:call(?MODULE, {get_info, Id}) ,
  