1. A method in a computer system for restoring data from a copy of the data, the method comprising: for each data object in a received data storage request: determining whether data at an original location within a hierarchy specified by the request contains— the data object itself or a reference to a data object and the data object is stored elsewhere; wherein the request contains a digest value for identifying each data object, and wherein the determining comprises comparing the digest value to an index of digest values of data objects stored within the computer system; when the original location within the hierarchy specified by the request contains a reference to a data object, then resolving the reference to find the data object and copying the data object to a destination location; and when the original location within the hierarchy specified by the request contains the data object itself, then copying the data object to a destination location.