is = pluginManifest.openStream();
is = new BufferedInputStream(pluginManifest.openStream());
	private void addBundle(Bundle bundle) {		String contributorId = Long.toString(bundle.getBundleId());		// if the given bundle already exists in the registry then return.		// note that this does not work for update cases.		if (registry.hasContribution(contributorId))			return;		URL pluginManifest = getExtensionURL(bundle, registry.debug());		if (pluginManifest == null)			return;		InputStream is;		try {			is = pluginManifest.openStream();		} catch (IOException ex) {			is = null;		}		if (is == null)			return;		ResourceBundle translationBundle = null;		try {			translationBundle = ResourceTranslator.getResourceBundle(bundle);		} catch (MissingResourceException e) {			//Ignore the exception		}		long timestamp = 0;		if (strategy.checkContributionsTimestamp())			timestamp = strategy.getExtendedTimestamp(bundle, pluginManifest);		IContributor contributor = ContributorFactoryOSGi.createContributor(bundle);		registry.addContribution(is, contributor, true, pluginManifest.getPath(), translationBundle, token, timestamp);		// bug 70941		// need to ensure we can find resource bundles from fragments		// The code below no longer seems necessary as all runtime plugins are installed		// before the corresponding Message classes are instantiated. 		//		if (RuntimeUtils.PI_RUNTIME.equals(bundleModel.getNamespace()))		//			Messages.reloadMessages();	}