throw new IOException(Msg.formatter.getString("ADAPTOR_STORAGE_EXCEPTION"));
throw new IOException(AdaptorMsg.formatter.getString("ADAPTOR_DIRECTORY_CREATE_EXCEPTION", dir.getAbsoluteFile()));
		public File getFile(String entry) {			ZipEntry zipEntry = getZipEntry(entry);			if (zipEntry == null) {				return null;			}			try {				File nested = getExtractFile(zipEntry.getName());				if (nested != null) {					if (nested.exists()) {						/* the entry is already cached */						if (Debug.DEBUG && Debug.DEBUG_GENERAL) {							Debug.println("File already present: " + nested.getPath());						}					} else {						if (zipEntry.getName().endsWith("/")) {							if (!nested.mkdirs()) {								if (Debug.DEBUG && Debug.DEBUG_GENERAL) {									Debug.println("Unable to create directory: "													+ nested.getPath());								}								throw new IOException(Msg.formatter.getString("ADAPTOR_STORAGE_EXCEPTION"));							}							extractDirectory(zipEntry.getName());						}						else {							InputStream in = zipFile.getInputStream(zipEntry);							if (in == null)								return null;							/* the entry has not been cached */							if (Debug.DEBUG && Debug.DEBUG_GENERAL) {								Debug.println("Creating file: "										+ nested.getPath());							}							/* create the necessary directories */							File dir = new File(nested.getParent());							if (!dir.exists() && !dir.mkdirs()) {								if (Debug.DEBUG && Debug.DEBUG_GENERAL) {									Debug.println("Unable to create directory: "													+ dir.getPath());								}								throw new IOException(Msg.formatter.getString("ADAPTOR_STORAGE_EXCEPTION"));							}							/* copy the entry to the cache */							AbstractFrameworkAdaptor.readFile(in, nested);						}					}					return nested;				}			} catch (IOException e) {				if (Debug.DEBUG && Debug.DEBUG_GENERAL) {					Debug.printStackTrace(e);				}			}			return null;		}