* @see java.util.Map#put(java.lang.Object, java.lang.Object)
*/
@Override
public String put(String key, String value) {
NodeState oldState = context.getState();
AttributesState oldAttributes = oldState.getAttributesState();
AttributesState newAttributes = new AttributesState.Builder(oldAttributes).attribute(key, value).build();
NodeState newState = new NodeState.Builder(oldState).attributes(newAttributes).build();
context.setState(newState);
return oldAttributes != null ? oldAttributes.get(key) : null;
}