diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/patch/WorkspacePatcherUI.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/patch/WorkspacePatcherUI.java
index ffb1ab1..80858fb 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/patch/WorkspacePatcherUI.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/patch/WorkspacePatcherUI.java
@@ -24,19 +24,22 @@
  */
 public class WorkspacePatcherUI {
 	/**
-	 * Returns a string that must be the first line of a workspace patch (a multi-project patch
-	 * that is understood by the Apply Patch wizard). Each project to be included in the patch
-	 * must be prefixed by the line obtained from the <code>getWorkspacePatchProjectHeader()</code>.
-	 * This snippet outlines how the a workspace patch is to be created:
+	 * Returns a string that must be the first line of a workspace patch (a
+	 * multi-project patch that is understood by the Apply Patch wizard). Each
+	 * project to be included in the patch must be prefixed by the line obtained
+	 * from the <code>getWorkspacePatchProjectHeader()</code>. This snippet outlines
+	 * how the a workspace patch is to be created:
+	 * 
 	 * <pre>
 	 *  //Write out workspace patch header
 	 *  stream.println(CompareUI.getWorkspacePatchHeader());
-	 *  for (int i=0; i<projects.length; i++){
+	 *  for (int i=0; i&lt;projects.length; i++){
 	 *    //Write out project header
 	 *    stream.println(CompareUI.getWorkspacePatchProjectHeader(projects[i]);
 	 *    //Write out patches in Unified Diff format
 	 *  }
-	 *  </pre>
+	 * </pre>
+	 * 
 	 * @return String
 	 * @see WorkspacePatcherUI#getWorkspacePatchProjectHeader(IProject)
 	 * @since 3.2
