This is not supported by any native functionality.
What you need to do is have a special method somewhere like
public static void updateName(String oldname, String newname, Map<String,MyObject> map) {
synchronized(map) {
MyObject obj = map.remove(oldname);
obj.setName(newname);
map.put(newname,obj);
}
}
And document everything correctly so that the developers know that they are very careful when changing the name.
, (, ? , - ?) - . , . =)