diff --git a/src/main/java/com/intel/jndn/mock/MockTransport.java b/src/main/java/com/intel/jndn/mock/MockTransport.java
index 819fbdc..3684441 100644
--- a/src/main/java/com/intel/jndn/mock/MockTransport.java
+++ b/src/main/java/com/intel/jndn/mock/MockTransport.java
@@ -80,8 +80,8 @@
   }
 
   /**
-   * Inspect the list of data packets sent using this transport; the
-   * alternative is to inspect getSentBuffer().
+   * Inspect the list of data packets sent using this transport; the alternative
+   * is to inspect getSentBuffer().
    *
    * @return
    */
@@ -98,7 +98,7 @@
   public List<Interest> getSentInterestPackets() {
     return sentInterestPackets;
   }
-  
+
   /**
    * Clear all sent and to-be-received data
    */
@@ -141,7 +141,7 @@
     data.flip();
     sentBuffer.put(data);
     data.flip();
- 
+
     // add to sent packets
     byte first = data.get();
     if (first == 5) {
@@ -157,8 +157,8 @@
 
   /**
    * Helper method to parse Data packets.
-   * 
-   * @param data 
+   *
+   * @param data
    */
   protected void addSentData(ByteBuffer data) {
     Data packet = new Data();
@@ -172,8 +172,8 @@
 
   /**
    * Helper method to parse Interest packets.
-   * 
-   * @param data 
+   *
+   * @param data
    */
   protected void addSentInterest(ByteBuffer data) {
     Interest packet = new Interest();
