} catch (BundleException ex) { bundle.framework.publishFrameworkEvent(FrameworkEvent.ERROR, bundle, ex);
	protected String[] matchClassPath(ManifestElement[] classpath, Properties props) {		if (classpath == null) {			if (Debug.DEBUG && Debug.DEBUG_LOADER)				Debug.println("  no classpath");			/* create default BundleClassPath */			return new String[] {"."};		}		ArrayList result = new ArrayList(classpath.length);		for (int i = 0; i < classpath.length; i++) {			FilterImpl filter;			try {				filter = createFilter(classpath[i].getAttribute(Constants.SELECTION_FILTER_ATTRIBUTE));				if (filter == null || filter.match(props)) {					if (Debug.DEBUG && Debug.DEBUG_LOADER)						Debug.println("  found match for classpath entry " + classpath[i].getValueComponents());					String[] matchPaths = classpath[i].getValueComponents();					for (int j = 0; j < matchPaths.length; j++) {						result.add(matchPaths[j]);					}				}			} catch (InvalidSyntaxException e) {				bundle.framework.publishFrameworkEvent(FrameworkEvent.ERROR, bundle, e);			} catch (BundleException ex) {				bundle.framework.publishFrameworkEvent(FrameworkEvent.ERROR, bundle, ex);			}		}		return (String[]) result.toArray(new String[result.size()]);	}