int u = Character.digit( ( char ) bytes[++i], 16 );
int l = Character.digit( ( char ) bytes[++i], 16 );
if ( ( u == -1 ) || ( l == -1 ) )
{
throw new UrlDecoderException( I18n.err( I18n.ERR_04414 ) );
}
buffer.write( ( char ) ( ( u << 4 ) + l ) );
}
catch ( ArrayIndexOutOfBoundsException e )
{
throw new UrlDecoderException( I18n.err( I18n.ERR_04414 ) );
}
}
else
{
buffer.write( b );