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 = tvp2;
} else if (FunctionHelper.isDerivedFromInteger(tvp2.getTag())) {
abvsInteger2.reset();
FunctionHelper.getIntegerPointable(tvp2, dOutInteger2);
tvp2new.set(abvsInteger2.getByteArray(), abvsInteger2.getStartOffset(),
LongPointable.TYPE_TRAITS.getFixedLength() + 1);
} else {
tvp2new = tvp2;