case Type.UNTYPED_ATOMIC : return new UntypedAtomicValue(getStringValue());
	public AtomicValue convertTo(int requiredType) throws XPathException {		switch (requiredType) {			case Type.NUMBER :			case Type.INTEGER :			case Type.LONG :			case Type.ATOMIC :			case Type.ITEM :				return this;			case Type.DECIMAL :				return new DecimalValue(new BigDecimal(value));			case Type.NON_POSITIVE_INTEGER :			case Type.NEGATIVE_INTEGER :			case Type.INT :			case Type.SHORT :			case Type.BYTE :			case Type.NON_NEGATIVE_INTEGER :			case Type.UNSIGNED_LONG :			case Type.UNSIGNED_INT :			case Type.UNSIGNED_SHORT :			case Type.UNSIGNED_BYTE :			case Type.POSITIVE_INTEGER :				return new IntegerValue(value, requiredType);			case Type.DOUBLE :				return new DoubleValue(value.doubleValue());			case Type.FLOAT:			    return new FloatValue(value.floatValue());			case Type.STRING :				return new StringValue(getStringValue());			case Type.BOOLEAN :				return (value.compareTo(ZERO_BIGINTEGER) == 0 ) ? BooleanValue.FALSE : BooleanValue.TRUE;			default :				throw new XPathException(					"cannot convert integer '" + value + "' to " + requiredType);		}	}