in accordance with an embodiment of the invention in the first processing operation of fig3 reflection is applied to a representative object in a collection of objects the reflection process obtains type information for each constituent data structure in the representative object in an embodiment where each object instance in the collection of objects is the same object reflection need only be applied to one representative object in processing operation 304 the executable instructions in the conversion module 114 use the type information to create a template for the aggregate dataset in processing operation 306 all public simple data in each object instance in the collection of objects is converted into a value in the aggregate dataset in an embodiment processing operation 306 includes duplicating the template created in operation 304 for each object instance in the collection of objects processing operation 306 further includes populating each duplicate template with the value of each simple data type found in each object instance in the collection of objects the following code segment is pseudo code that could convert a collection of objects to an aggregate dataset in accordance with the processing operations from fig3 pseudo code segment for conversion ba bb dataset new table bc infoarray typeofobject typeof objectcollection getrepresentativeobject bd propertyinfoarray properties typeofobject getproperties u201c public u201d u201c simple u201d be foreach property in properties bf dataset addcolumn property propertytype bg endforeach bh foreach object in objectcollection bi if not first object dataset.