diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
index f193578..1bba3c6 100644
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
+++ b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
@@ -1484,6 +1484,7 @@
 	 * Sets the user defined custom tasks. To commit the changes, updatePluginPreferences must be called.
 	 * 
 	 * @param tasks
+	 *            The custom tasks.
 	 */
 	public void setCustomTasks(Task[] tasks) {
 		oldCustomTasks = customTasks;
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
index 4dc785f..dcf29bc 100644
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
@@ -39,8 +39,7 @@
 
 /**
  * Entry point for running Ant builds inside Eclipse (within the same JRE). Clients may instantiate this class; it is not intended to be subclassed.
- * <p/>
- * <div class="TableSubHeadingColor"> <b>Usage note:</b><br/>
+ * <div class="TableSubHeadingColor"> <b>Usage note:</b><br>
  * Clients may use the <code>addBuildListener</code>, <code>addBuildLogger</code> and <code>setInputHandler</code> methods to configure classes that
  * will be invoked during the build. When using these methods, it is necessary to package the classes in a jar that is not on the client plugin's
  * classpath. The jar must be added to the Ant classpath. One way to add the jar to the Ant classpath is to use the
@@ -308,7 +307,8 @@
 	 */
 	public void run(IProgressMonitor monitor) throws CoreException {
 		if (buildRunning) {
-			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, NLS.bind(InternalCoreAntMessages.AntRunner_Already_in_progess, new String[] { buildFileLocation }), null);
+			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, NLS.bind(InternalCoreAntMessages.AntRunner_Already_in_progess, new String[] {
+					buildFileLocation }), null);
 			throw new CoreException(status);
 		}
 		buildRunning = true;
