procedure ChangeVersion(ANewVersion : String; ADeleteInvalidContent : Boolean);
Change the Version of the message to the version specified. ChangeVersion is not very elegant - use with care.
if DeleteInvalidContent is true, anything in the message but not in the dictionary for the specified version is deleted.
There is many issues with this procedure that are yet to be determined, including: