setErrorMessage(JarImportMessages.JarImportWizardPage_empty_location);
if (!fFirstTime) setErrorMessage(JarImportMessages.JarImportWizardPage_empty_location); fFirstTime= false;
	protected void handleJarFileChanged() {		if (fLocationControl != null) {			final String path= fLocationControl.getText();			if ("".equals(path)) { //$NON-NLS-1$				setErrorMessage(JarImportMessages.JarImportWizardPage_empty_location);				setPageComplete(false);				return;			} else {				final File file= new File(path);				if (!file.exists()) {					setErrorMessage(JarImportMessages.JarImportWizardPage_invalid_location);					setPageComplete(false);					return;				}				ZipFile zip= null;				try {					try {						zip= new ZipFile(file, ZipFile.OPEN_READ);					} catch (IOException exception) {						setErrorMessage(JarImportMessages.JarImportWizardPage_invalid_location);						setPageComplete(false);						return;					}					final JarImportData data= fWizard.getImportData();					data.setRefactoringFileLocation(URIUtil.toURI(path));					ZipEntry entry= zip.getEntry(JarPackagerUtil.getRefactoringsEntry());					if (entry == null) {						setMessage(JarImportMessages.JarImportWizardPage_no_refactorings, INFORMATION);						setPageComplete(true);						return;					}					handleTimeStampChanged();					if (data.getExistingTimeStamp() > entry.getTime()) {						setMessage(JarImportMessages.JarImportWizardPage_version_warning, WARNING);						setPageComplete(true);						return;					}					InputStream stream= null;					try {						stream= zip.getInputStream(entry);						data.setRefactoringHistory(RefactoringCore.getHistoryService().readRefactoringHistory(stream, JavaRefactoringDescriptor.JAR_IMPORTABLE | JavaRefactoringDescriptor.JAR_REFACTORABLE));					} catch (IOException exception) {						setErrorMessage(JarImportMessages.JarImportWizardPage_no_refactorings);						setPageComplete(false);						return;					} catch (CoreException exception) {						JavaPlugin.log(exception);						setErrorMessage(JarImportMessages.JarImportWizardPage_no_refactorings);						setPageComplete(false);						return;					} finally {						if (stream != null) {							try {								stream.close();							} catch (IOException exception) {								// Do nothing							}						}					}				} finally {					if (zip != null) {						try { zip.close(); } catch (IOException e) {}					}				}							}		}	}