public Boolean saveImageAsTifInZip(ImagePlus imp, boolean open) {
		boolean unlockedImage = imp.getStackSize() == 1 && !imp.isLocked();
		if (unlockedImage)
			imp.lock();
		Boolean savedOk = null;

		FileInfo ofi = null;
		if (imp != null){
			ofi = imp.getOriginalFileInfo();
		}
	
		savedOk = new FileSaver(imp).saveAsZip();

		if (unlockedImage)
			imp.unlock();

		boolean needToReopen = (ofi == null || !imp.getTitle()
				.substring(0, imp.getTitle().lastIndexOf("."))
				.equals(ofi.fileName.substring(0,
						ofi.fileName.lastIndexOf("."))));
		if (savedOk != null
				&& savedOk != false
				&& needToReopen) {
			// First, current image is closed
			new MacroRunner("run(\"ForceClose \")\n");
			// Then, new image is opened
			new Opener().open(imp.getOriginalFileInfo().directory
					+ imp.getTitle().substring(0, imp.getTitle().length() - 3)
					+ "zip");
			new TPOpener().opener(imp);
		}

		return savedOk;
	}