@Override
protected Number fromLexicalForm(String lexicalForm) throws InvalidLiteralException {
try {
long n = DatatypeConverter.parseLong( lexicalForm );
if( n < Integer.MIN_VALUE || n > Integer.MAX_VALUE )
throw new InvalidLiteralException( getName(), lexicalForm );
return Integer.valueOf( (int) n );
} catch( NumberFormatException e ) {
throw new InvalidLiteralException( getName(), lexicalForm );
}
}