diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/DeadlockDetector.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
index 6b3c116..5f63b57 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
@@ -396,18 +396,18 @@
 		//there is a deadlock in the graph
 		Thread[] threads = getThreadsInDeadlock(client);
 		Thread candidate = resolutionCandidate(threads);
-		ISchedulingRule[] locks = realLocksForThread(candidate);
-		Deadlock deadlock = new Deadlock(threads, locks, candidate);
+		ISchedulingRule[] locksToSuspend = realLocksForThread(candidate);
+		Deadlock deadlock = new Deadlock(threads, locksToSuspend, candidate);
 		//find a thread whose locks can be suspended to resolve the deadlock
 		if (JobManager.DEBUG_LOCKS)
 			reportDeadlock(deadlock);
 		if (JobManager.DEBUG_DEADLOCK)
 			throw new IllegalStateException("Deadlock detected. Caused by thread " + client.getName() + '.'); //$NON-NLS-1$
-		//update the graph to indicate that the locks will now be suspended
-		// to indicate that the lock will be suspended, we set the thread to wait for the lock
-		// when the lock is forced to be released, the entry will be cleared
-		for (int i = 0; i < locks.length; i++)
-			setToWait(deadlock.getCandidate(), locks[i], true);
+		// Update the graph to indicate that the locks will now be suspended.
+		// To indicate that the lock will be suspended, we set the thread to wait for the lock.
+		// When the lock is forced to be released, the entry will be cleared.
+		for (int i = 0; i < locksToSuspend.length; i++)
+			setToWait(deadlock.getCandidate(), locksToSuspend[i], true);
 		return deadlock;
 	}
 
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobChangeEvent.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobChangeEvent.java
index 32c44dd..cee7a12 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobChangeEvent.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobChangeEvent.java
@@ -33,22 +33,22 @@
 	 */
 	boolean reschedule = false;
 
-	/**
-	 * @return
+	/* (non-Javadoc)
+	 * Method declared on IJobChangeEvent
 	 */
 	public long getDelay() {
 		return delay;
 	}
 
-	/**
-	 * @return the job for this event
+	/* (non-Javadoc)
+	 * Method declared on IJobChangeEvent
 	 */
 	public Job getJob() {
 		return job;
 	}
 
-	/**
-	 * @return
+	/* (non-Javadoc)
+	 * Method declared on IJobChangeEvent
 	 */
 	public IStatus getResult() {
 		return result;
