return new DecimalValue(monthsValueSigned().doubleValue());
return new DecimalValue(monthsValueSigned().doubleValue()); 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.DAY_TIME_DURATION:				return this;			case Type.STRING:								return new StringValue(getStringValue());			case Type.DURATION:				return new DurationValue(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.DOUBLE:				//return new DoubleValue(monthsValueSigned().doubleValue());				return new DoubleValue(Double.NaN);			case Type.DECIMAL:				return new DecimalValue(monthsValueSigned().doubleValue());							default:				throw new XPathException(					"Type error: cannot cast xs:dayTimeDuration to "					+ Type.getTypeName(requiredType));		}	}