mapReader: optimize check for single tag
When checking that a tag occurs only once, we currently look for it from the last of the children of the parent of the tag back to the last tag. This means iterating back to the first tag in the average case. Instead, look for the potential next sibling of the tag: while it will do the same scanning in the average case (i.e. to the last of the children), there is no need to compare the found tag against the reference tag, as it will be different for sure.