private static URL findOS(Bundle b, IPath path, Map override) {
private static URL findOS(Bundle b, IPath path, Map override, ArrayList multiple) {
	private static URL findOS(Bundle b, IPath path, Map override) {		String os = null;		if (override != null)			try {				// check for override				os = (String) override.get("$os$"); //$NON-NLS-1$			} catch (ClassCastException e) {				// just in case			}		if (os == null)			// use default			os = Activator.getContext().getProperty(PROP_OS);		if (os.length() == 0)			return null;		// Now do the same for osarch		String osArch = null;		if (override != null)			try {				// check for override				osArch = (String) override.get("$arch$"); //$NON-NLS-1$			} catch (ClassCastException e) {				// just in case			}		if (osArch == null)			// use default			osArch = Activator.getContext().getProperty(PROP_ARCH);		if (osArch.length() == 0)			return null;		URL result = null;		IPath base = new Path("os").append(os).append(osArch); //$NON-NLS-1$		// Keep doing this until all you have left is "os" as a path		while (base.segmentCount() != 1) {			IPath filePath = base.append(path);			result = findInPlugin(b, filePath);			if (result != null)				return result;			result = findInFragments(b, filePath);			if (result != null)				return result;			base = base.removeLastSegments(1);		}		// If we get to this point, we haven't found it yet.		// Look in the plugin and fragment root directories		result = findInPlugin(b, path);		if (result != null)			return result;		return findInFragments(b, path);	}