1. A computer program product embodied on a non-transitory computer readable medium, comprising computer code for: identifying an object-oriented information model including JAVA™ code associated with JAVA™ programming language to be converted to a document-oriented model described in Extensible Markup Language (XML); automatically identifying a plurality of objects associated with the object-oriented information model that are each associated with a plurality of instances, including identifying a plurality of objects that each include a plurality of different object definitions for that object; optimizing the object-oriented information model by, for each of the plurality of objects each associated with the plurality of instances, storing the plurality of different object definitions in a defined data container outside of the object-oriented information model and replacing each of the plurality of different object definitions with a reference to the different object definitions in the defined data container outside of the object-oriented information model; annotating the optimized object-oriented information model, in response to performing the storing and the replacing; and automatically validating the optimized object-oriented information model by verifying the reference to the plurality of different object definitions in the defined data container outside of the optimized object-oriented information model is associated with at least one object identifier.