case Type.UNTYPED_ATOMIC : return new UntypedAtomicValue(getStringValue());
	public AtomicValue convertTo(int requiredType) throws XPathException {		switch(requiredType) {			case Type.ITEM:			case Type.ATOMIC:			case Type.DURATION:				return this;			case Type.YEAR_MONTH_DURATION:				return new YearMonthDurationValue(TimeUtils.getInstance().newDurationYearMonth(						duration.getSign() >= 0,						(BigInteger) duration.getField(DatatypeConstants.YEARS),						(BigInteger) duration.getField(DatatypeConstants.MONTHS)));			case Type.DAY_TIME_DURATION:				return new DayTimeDurationValue(TimeUtils.getInstance().newDuration(						duration.getSign() >= 0,						null,						null,						(BigInteger) duration.getField(DatatypeConstants.DAYS),						(BigInteger) duration.getField(DatatypeConstants.HOURS),						(BigInteger) duration.getField(DatatypeConstants.MINUTES),						(BigDecimal) duration.getField(DatatypeConstants.SECONDS)));			case Type.STRING:				return new StringValue(getStringValue());			default:				throw new XPathException(					"Type error: cannot cast xs:duration to "					+ Type.getTypeName(requiredType));		}	}