1. A method of operating a computer system comprising: converting first metadata for a first version of a computer program and a first metadata schema into second metadata for a second version of the computer program and/or for a second metadata schema, wherein the converting comprises: importing a first extensible markup language (XML) file comprising the first metadata into a first XML object; obtaining working variables for the second metadata and/or the second version of the computer program; converting a first set of identification (ID) references in the first XML object to a second set of ID references; unmarshalling the first XML object that includes the second set of ID references to generate a first object class structure that conforms to the second metadata schema and/or the second version of the computer program, using the working variables; recursively processing the first object class structure to construct objects and their contents pursuant to the second set of ID references and thereby generate a second object class structure; and marshalling the second object class structure to generate a second XML object.