target = Activator.getDefault().getBundle(id);
Activator activator = Activator.getDefault(); if (activator == null) throw new IOException(CommonMessages.activator_not_available); target = activator.getBundle(id);
	protected URL resolve() throws IOException {		String spec = url.getFile().trim();		if (spec.startsWith("/")) //$NON-NLS-1$			spec = spec.substring(1);		if (!spec.startsWith(PLUGIN))			throw new IOException(NLS.bind(CommonMessages.url_badVariant, url));		int ix = spec.indexOf("/", PLUGIN.length() + 1); //$NON-NLS-1$		String ref = ix == -1 ? spec.substring(PLUGIN.length() + 1) : spec.substring(PLUGIN.length() + 1, ix);		String id = getId(ref);		target = Activator.getDefault().getBundle(id);		if (target == null)			throw new IOException(NLS.bind(CommonMessages.url_resolvePlugin, url));		if (ix == -1 || (ix + 1) >= spec.length())			return target.getEntry("/"); //$NON-NLS-1$		URL result = target.getEntry(spec.substring(ix + 1));		if (result != null)			return result;		// if the result is null then force the creation of a URL that will throw FileNotFoundExceptions		return new URL(target.getEntry("/"), spec.substring(ix + 1)); //$NON-NLS-1$	}