Checar versao do XML em tempo de execucao

Pessoal,

Em um programa que estamos fazendo eu gero um XML em tempo de execução para descrever uma estrutura de dados que um dos componentes da empresa nos força a utilizar.

A pessoa define a classe e essa classe será depois traduzida em XML e persistida em disco. A classe em si já faz todo o papel, mas precisamos ter esse arquivo XML criado e atualizado.

Como essa classe é utilizada muitas vezes queria minimizar o overhead da checagem (ou re-criação) do arquivo.

Pensei em gravar um atributo VERSION no rootNode do XML e ter esse mesmo VERSION na classe Java, e quando for utilizar o XML verificar se o arquivo existe e se existe tem a mesma versao da classe, se nao tiver (ou nao existir) eu recrio o arquivo do zero.

Nao fiz nenhum teste, mas acho que para carregar um arquivo com JDOM soh para verificar a versao deve ser algo bem custoso e embora eu esteja utilizando esse enfoque, acho que nao deve ser nada otimizado.

Importante, NAO POSSO colocar a versao no NOME do arquivo, que foi algo que pensei, ficaria assim: NOME_ARQUIVO+VERSION+".xml"; Mas infelizmente não posso fazer isso.

Então coloquei a versao como um atributo no rootNode.

Apesar de estar funcionando, gostaria de sugestoes do pessoa de como melhorar essa implementacao, pois preciso manter o arquivo XML sincronizado com a classe (O XML representa todos os campos, tipos e tamanhos que estao na classe), mas gostaria de ter o menos impacto possivel sobre a performance.

Alguem tem alguma sugestao?

Obrigado