protected boolean resolveJarFile ()
        throws IOException
    {
        // if we don't yet have our resource bundle's last mod time, we
        // have not yet been notified that it is ready
        if (_sourceLastMod == -1) {
            return true;
        }

        if (!_source.exists()) {
            throw new IOException("Missing jar file for resource bundle: " + _source + ".");
        }

        try {
            if (_jarSource == null) {
                _jarSource = new JarFile(_source);
            }
            return false;

        } catch (IOException ioe) {
            String msg = "Failed to resolve resource bundle jar file '" + _source + "'";
            log.warning(msg + ".", ioe);
            throw (IOException) new IOException(msg).initCause(ioe);
        }
    }
protected boolean resolveJarFile ( ) throws IOException { if ( _sourceLastMod == - 1 ) { return true ; } if ( ! _source . exists ( ) ) { throw new IOException ( "Missing jar file for resource bundle: " + _source + "." ) ; } try { if ( _jarSource == null ) { _jarSource = new JarFile ( _source ) ; } return false ; } catch ( IOException ioe ) { String msg = "Failed to resolve resource bundle jar file '" + _source + "'" ; log . warning ( msg + "." , ioe ) ; throw ( IOException ) new IOException ( msg ) . initCause ( ioe ) ; } }
Creates the internal jar file reference if we've not already got it; we do this lazily so
as to avoid any jar- or zip-file-related antics until and unless doing so is required, and
because the resource manager would like to be able to create bundles before the associated
files have been fully downloaded.

@return true if the jar file could not yet be resolved because we haven't yet heard from
the resource manager that it is ready for us to access, false if all is cool.