(status.getRevision() != null) &&
	public void decorateTextLabel(IResource resource, IDecoration decoration, boolean isDirty) {		try {			// if the resource does not have a location then return. This can happen if the resource			// has been deleted after we where asked to decorate it.			if (resource.getLocation() == null) {				return;			}			// get the format			IDecoratorComponent[][] format;			int type = resource.getType();			if (type == IResource.FOLDER) {				format = folderDecoratorFormat;			} else if (type == IResource.PROJECT) {				format = projectDecoratorFormat;			} else {				format = fileDecoratorFormat;			}                        // fill the bindings			if (isDirty) {				bindings.put(SVNDecoratorConfiguration.DIRTY_FLAG, dirtyFlag);			}			ISVNLocalResource svnResource =				SVNWorkspaceRoot.getSVNResourceFor(resource);			ISVNStatus status = svnResource.getStatus();			if (status.getUrl() != null) {				bindings.put(					SVNDecoratorConfiguration.RESOURCE_URL,					status.getUrl().toString());			}						if (status.isAdded()) {				bindings.put(					SVNDecoratorConfiguration.ADDED_FLAG, addedFlag);			} else {				if ((status.getTextStatus() != ISVNStatus.Kind.UNVERSIONED) &&                    (status.getRevision().getNumber() != SVNRevision.SVN_INVALID_REVNUM) &&                    (status.getRevision().getNumber() != 0)) {				    bindings.put(					   SVNDecoratorConfiguration.RESOURCE_REVISION,					   status.getLastChangedRevision().toString());				    bindings.put(					   SVNDecoratorConfiguration.RESOURCE_AUTHOR,					   status.getLastCommitAuthor());                }								if (status.getLastChangedDate() != null) {                    bindings.put(					   SVNDecoratorConfiguration.RESOURCE_DATE,						dateFormat.format(status.getLastChangedDate()));				}			}			SVNDecoratorConfiguration.decorate(decoration, format, bindings);					} catch (SVNException e) {			SVNUIPlugin.log(e.getStatus());		} finally {			bindings.clear();		}	}