1. A method comprising: (a) placing references to a root set of data objects, each data object having a contents, into a reference array such that the contents of each data object is stored to memory; (b) examining the contents of a particular data object such that associated data objects are determined; (c) placing a reference to the associated data objects in the reference array; (d) prefetching the contents of a future-referenced data object to cache memory, the data object referenced a specified distance ahead of the particular data object in the reference array; and (e) repeating operations (b) through (d) such that the transitive closure set of the root set of data objects is determined.