setErrorMessage(null);
	public boolean computePageCompletion() {		if (fJarPackage.isDescriptionSaved()){			if (fJarPackage.getDescriptionLocation().toString().length() == 0) {				setErrorMessage(null);				return false;			}			IPath location= fJarPackage.getDescriptionLocation();			if (!location.toString().startsWith("/")) {				setErrorMessage("Description file path must be absolute (start with /)");				return false;			}						IResource resource= findResource(location);			if (resource != null && resource.getType() != IResource.FILE) {				setErrorMessage("The description file location must not be an existing container");				return false;			}			resource= findResource(location.removeLastSegments(1));			if (resource == null || resource.getType() == IResource.FILE) {				setErrorMessage("Container for description file does not exist");				return false;			}			String fileExtension= fJarPackage.getDescriptionLocation().getFileExtension();			if (fileExtension == null || !fileExtension.equals(JarPackage.DESCRIPTION_EXTENSION)) {				setErrorMessage("Description file extension must be '.jardesc'");				return false;			}		}		return true;	}