I realized that this handling should logically occur before we even create the new tag, so it was cleanest to just hoist it completely above that part. That fixed the issue you identified with `getID()` being called at the wrong time.