1. A method in a data processing system for marking code for data versioning the method comprising: responsive to receiving a user input, inserting a first marking statement in the code and a second marking statement in the code, wherein a portion of code between the first marking statement and the second marking statement form a marked section of code; detecting a change made in data in an object caused by execution of the marked section of code and changes made in data in additional objects changed by execution of the marked section of code; and responsive to detecting the change, tracking the change made in data in the object and the changes made to the data in the additional objects as a version of delta data in a data structure wherein the data structure comprises an index for selecting the version of the delta data, an array index identifying a location of the change within the delta data, and a value indicating the change, wherein the object and the additional objects form a set of objects and wherein each object in the set of objects may be restored to a prior state independently of other objects in the set of objects using a selected version of the delta data.