UpdateGenerations() will only add an Identification set if a modification is detected in the header metadata.
There are 3 problems:
1) It seems that the Preface is not correctly examined (neither the set itself, nor simple properties of it)
2) There is no way to force an ident set to be added (say if only an index table has been modified)
3) The GenerationUID of the preface seems to get updated even if no Ident Set is added