if(finalValue==0)
return this; // there is no need to create a new object.
if( !isLateBind() )
return new XSDatatypeExp(
new FinalComponent( (XSDatatypeImpl)dt, finalValue ), pool );
// create datatype lazily
return new XSDatatypeExp( this.namespaceUri, this.name, reader, new Renderer() {
public XSDatatype render( RenderingContext context ) throws DatatypeException {
return new FinalComponent(
(XSDatatypeImpl)getType(context), finalValue );
}
});
}