if (tvp2.getTag() == ValueTag.XS_UNTYPED_ATOMIC_TAG) {
// Only need to change tag since the storage is the same for untyped atomic and string.
tvp2.getByteArray()[0] = ValueTag.XS_STRING_TAG;
tvp2new.set(tvp2);
} else if (FunctionHelper.isDerivedFromInteger(tvp2.getTag())) {
abvsInteger2.reset();
FunctionHelper.getIntegerPointable(tvp2, dOutInteger2, tp2);
tvp2new.set(abvsInteger2.getByteArray(), abvsInteger2.getStartOffset(),
LongPointable.TYPE_TRAITS.getFixedLength() + 1);
} else {
tvp2new.set(tvp2);