Since the category points to a section object, during merge or copy paste etc. it is possible the section pointer will point at a section from another root. We fix this up by looking through our available sections and match up via persistent identity. This function expects the correct section with the same identity to exist already at the root level