private static void throwIOException(Exception mex, String sysId)
        throws IOException
    {
        String msg = "[resolving systemId '"+sysId+"']: "+mex.toString();
        throw ExceptionUtil.constructIOException(msg, mex);
    }
private static void throwIOException ( Exception mex , String sysId ) throws IOException { String msg = "[resolving systemId '" + sysId + "']: " + mex . toString ( ) ; throw ExceptionUtil . constructIOException ( msg , mex ) ; }
Helper method that tries to fully convert strange URL-specific exception
to more general IO exception. Also, to try to use JDK 1.4 feature without
creating requirement, uses reflection to try to set the root cause, if
we are running on JDK1.4