diff --git a/src/main/java/net/floodlightcontroller/core/IListener.java b/src/main/java/net/floodlightcontroller/core/IListener.java
index 1bd6560..74ff1f3 100644
--- a/src/main/java/net/floodlightcontroller/core/IListener.java
+++ b/src/main/java/net/floodlightcontroller/core/IListener.java
@@ -1,19 +1,19 @@
 /**
-*    Copyright 2011, Big Switch Networks, Inc. 
-*    Originally created by David Erickson, Stanford University
-* 
-*    Licensed under the Apache License, Version 2.0 (the "License"); you may
-*    not use this file except in compliance with the License. You may obtain
-*    a copy of the License at
-*
-*         http://www.apache.org/licenses/LICENSE-2.0
-*
-*    Unless required by applicable law or agreed to in writing, software
-*    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-*    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-*    License for the specific language governing permissions and limitations
-*    under the License.
-**/
+ *    Copyright 2011, Big Switch Networks, Inc.
+ *    Originally created by David Erickson, Stanford University
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License"); you may
+ *    not use this file except in compliance with the License. You may obtain
+ *    a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ *    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ *    License for the specific language governing permissions and limitations
+ *    under the License.
+ **/
 
 package net.floodlightcontroller.core;
 
@@ -21,18 +21,20 @@
     public enum Command {
         CONTINUE, STOP
     }
-    
+
     /**
      * The name assigned to this listener
+     *
      * @return
      */
     public String getName();
 
     /**
      * Check if the module called name is a callback ordering prerequisite
-     * for this module.  In other words, if this function returns true for 
+     * for this module.  In other words, if this function returns true for
      * the given name, then this message listener will be called after that
      * message listener.
+     *
      * @param type the message type to which this applies
      * @param name the name of the module
      * @return whether name is a prerequisite.
@@ -41,9 +43,10 @@
 
     /**
      * Check if the module called name is a callback ordering post-requisite
-     * for this module.  In other words, if this function returns true for 
+     * for this module.  In other words, if this function returns true for
      * the given name, then this message listener will be called before that
      * message listener.
+     *
      * @param type the message type to which this applies
      * @param name the name of the module
      * @return whether name is a post-requisite.
