AI OnAI Off
You can call .CreateWritableClone() on current page. That should works as you describe above.
Calling CreateWritableClone() will give you an untyped PageData object, but you can cast it back to your type like var writeablePage = page.CreateWritableClone() as YourContentType. Not sure if this was your issue, but CreateWritableClone() doesn't remove or empties any properties.
CreateWritableClone() creates an empty object.
Can we persist the existing data while creating writable clone of the page.
Out of 10 properties on a page i just want to update 5 properties at runtime and i want the data of rest 5 properties to persist while creating writable clone.