Fix IOException when LockToken#close fails

This happened if the LockTokens hard link was already deleted earlier.

Bug: 531759
Change-Id: Idc84bd695fac1a763b3cbb797c9c4c636a16e329
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
index 6b537a4..8d4e5e5 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
@@ -841,13 +841,18 @@
 
 		@Override
 		public void close() {
-			if (link.isPresent()) {
-				try {
-					Files.delete(link.get());
-				} catch (IOException e) {
-					LOG.error(MessageFormat.format(JGitText.get().closeLockTokenFailed,
-							this), e);
-				}
+			if (!link.isPresent()) {
+				return;
+			}
+			Path p = link.get();
+			if (!Files.exists(p)) {
+				return;
+			}
+			try {
+				Files.delete(p);
+			} catch (IOException e) {
+				LOG.error(MessageFormat
+						.format(JGitText.get().closeLockTokenFailed, this), e);
 			}
 		}