1. A computer program product for reconstructing a collection, the computer program product comprising: a non-transitory computer readable storage medium having stored thereon: program instructions to decompose a collection of complex objects into one or more base objects using one or more annotations that document the one or more base objects that are placed in the collection, wherein the decomposing comprises: parsing code for one or more objects; determining that the parsed one or more objects is not a primitive, and performing the following: determining whether the one or more objects is annotated, wherein when the one or more objects is annotated and the annotations are Java annotations, the Java annotations: define the one or more base objects used by the collection; generate a javaDoc reference that shows the one or more base objects being added to the collection; and break the collection into a group of complex object types and decompose the collection to the one or more base objects that are placed in the collection; when the one or more objects is not annotated, generating an exception that does not reconstruct the collection; and program instructions to automatically reconstruct the definitions of the complex objects within the collection using a wizard when the one or more objects is annotated, wherein the program instructions are stored on the non-transitory computer readable storage medium.