I have a custom Collection to control the changes made to it, and revert changes if I need to, similar to the implementation of the IEditableObject
public cl