diff --git a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/rdf/providers/GraphNodeWriter.java b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/rdf/providers/GraphNodeWriter.java
index e7c93ba..40532eb 100644
--- a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/rdf/providers/GraphNodeWriter.java
+++ b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/rdf/providers/GraphNodeWriter.java
@@ -47,7 +47,7 @@
 
 /**
  * By default this returns a serialization of the context of the GraphNode.
- * <p>
+ *
  * The expansion can be widened by using the query parameters xPropObj and
  * xProSubj. These parameters specify property uris (both parameters might be
  * repeated). For the specified properties their objects respectively subjects
diff --git a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetCsvMessageBodyWriter.java b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetCsvMessageBodyWriter.java
index 1ba3215..9118892 100644
--- a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetCsvMessageBodyWriter.java
+++ b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetCsvMessageBodyWriter.java
@@ -41,10 +41,10 @@
 import java.util.List;
 
 /**
- * MessageBodyWirter for <code>ResultSet</code>. Resulting output is csv and
+ * MessageBodyWriter for <code>ResultSet</code>. Resulting output is csv and
  * conforms to:
  * http://www.w3.org/TR/2013/REC-sparql11-results-csv-tsv-20130321/#csv
- * <p>
+ *
  * Also see: http://tools.ietf.org/html/rfc4180
  *
  * @author misl
@@ -134,7 +134,7 @@
     }
 
     /**
-     * Write resultset header to the given output stream.
+     * Write result set header to the given output stream.
      *
      * @param outputStream stream to write to.
      * @param headers      the headers to write.
diff --git a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetTsvMessageBodyWriter.java b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetTsvMessageBodyWriter.java
index b42a312..f2e94bc 100644
--- a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetTsvMessageBodyWriter.java
+++ b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetTsvMessageBodyWriter.java
@@ -41,10 +41,10 @@
 import java.util.List;
 
 /**
- * MessageBodyWirter for <code>ResultSet</code>. Resulting output is tsv and
+ * MessageBodyWriter for <code>ResultSet</code>. Resulting output is tsv and
  * conforms to:
  * http://www.w3.org/TR/2013/REC-sparql11-results-csv-tsv-20130321/#tsv
- * <p>
+ *
  * Also see: http://www.iana.org/assignments/media-types/text/tab-separated-values
  *
  * @author misl
@@ -134,7 +134,7 @@
     }
 
     /**
-     * Write resultset header to the given output stream.
+     * Write result set header to the given output stream.
      *
      * @param outputStream stream to write to.
      * @param headers      the headers to write.
diff --git a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetXmlMessageBodyWriter.java b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetXmlMessageBodyWriter.java
index 607daa6..14a3d2d 100644
--- a/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetXmlMessageBodyWriter.java
+++ b/jaxrs.rdf.providers/src/main/java/org/apache/clerezza/jaxrs/sparql/providers/ResultSetXmlMessageBodyWriter.java
@@ -101,8 +101,6 @@
      * {@link DOMSource}
      *
      * @param queryResult
-     * @param query
-     * @param applyStyle
      */
     private Source toXmlSource(ResultSet queryResult) {
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
@@ -131,7 +129,7 @@
     }
 
     /**
-     * Creates a WebApplicationexception and prints a logger entry
+     * Creates a WebApplicationException and prints a logger entry
      */
     private WebApplicationException createWebApplicationException(Exception e) {
         return new WebApplicationException(Response.status(Status.BAD_REQUEST)
