if (result == null && content instanceof String) {  result = new NestedDirBundleFile(data.getBundleFile(), (String) content); }
	public BundleFile createBundleFile(Object content, BaseData data) throws IOException {		boolean base = false;		if (content == null) {			// this must be a request for the base bundlefile			base = true;			// get the content of this bundle			content = getBundleContent(data);		}		BundleFile result = null;		// Ask factories before doing the default behavior		BundleFileFactoryHook[] factories = adaptor.getHookRegistry().getBundleFileFactoryHooks();		for (int i = 0; i < factories.length && result == null; i++)			result = factories[i].createBundleFile(content, data, base);		// No factories configured or they declined to create the bundle file; do default		if (result == null && content instanceof File) {			File file = (File) content;			if (file.isDirectory())				result =  new DirBundleFile(file);			else 				result = new ZipBundleFile(file, data);		}		if (result == null)			// nothing we can do; must throw exception for the content			throw new IOException("Cannot create bundle file for content of type: " + content.getClass().getName()); //$NON-NLS-1$		// try creating a wrapper bundlefile out of it.		BundleFileWrapperFactoryHook[] wrapperFactories = adaptor.getHookRegistry().getBundleFileWrapperFactoryHooks();		for (int i = 0; i < wrapperFactories.length; i++) {			BundleFile wrapperBundle = wrapperFactories[i].wrapBundleFile(result, content, data, base);			if (wrapperBundle != null)				result = wrapperBundle;		}		return result;	}