return url.substring(bundleIdStart + 3, lastBang - (jarSuffix ? 4 : 0));
String fileName = url.substring(bundleIdStart + 3, lastBang - (jarSuffix ? 4 : 0));   String bsn = null; String version = null; int underScore = fileName.indexOf('_'); while (underScore >= 0) { bsn = fileName.substring(0, underScore); version = fileName.substring(underScore + 1); if (! isValidVersion(version)) { underScore = fileName.indexOf('_', underScore + 1); } else { break; } } return new Object[] {bsn, version};
	private String extractBundleIdFromBundleURL(String url) {		int lastBang = url.lastIndexOf('!');		if (lastBang == -1)			return null;		boolean jarSuffix = url.regionMatches(true, lastBang - 4, ".jar", 0, 4); //$NON-NLS-1$		int bundleIdStart = url.lastIndexOf('/', lastBang);		return url.substring(bundleIdStart + 3, lastBang - (jarSuffix ? 4 : 0)); // + 3 because URLs from webstart have a funny prefix	}