public TagInstance DuplicateTag(Stream stream, TagInstance tag)
{
if (tag == null)
throw new ArgumentNullException(nameof(tag));
// Just extract the tag and add it back
var result = AllocateTag();
SetTagDataRaw(stream, result, ExtractTagRaw(stream, tag));
return result;
}