// TODO(dustin): !! When we actually write the code to flatten the IB to bytes, make sure to skip the tags that have a nil value (which will happen when we add-from-exsting without a resolver instance).

// TODO(dustin): !! Not correct. If we're adding from existing and it's an unknown-type tag that we can't parse, we're just going to be seting the placeholder even though there's nothing stopping us from just taking the raw bytes (other than some design decisions that we'd have to make in order to do this).

valueBytes, err:= itevr.ValueBytes(ite)

if err != nil {

if log.Is(err, ErrUnhandledUnknownTypedTag) == true {

valueBytes = []byte(UnparseableUnknownTagValuePlaceholder)

} else {

log.Panic(err)

}

}

value = NewIfdBuilderTagValueFromBytes(valueBytes)

}

bt = NewBuilderTag(ifd.IfdPath, ite.TagId, ite.TagType, value)

}

err:= ib.add(bt)

log.PanicIf(err)

}

returnnil

}

// AddStandard quickly and easily composes and adds the tag using the

// information already known about a tag. Only works with standard tags.