remove AttributeValue pointed to by iterator from the list,
returning responsibility for freeing the associated memory.
This requires saving a pointer to the AttributeValue before calling this method.
remove AttributeValue pointed to by iterator from the list,
returning responsibility for freeing the associated memory.
Then insert new AttributeValue in the same place.