diff --git a/core/api/src/main/java/org/onlab/onos/net/statistic/Load.java b/core/api/src/main/java/org/onlab/onos/net/statistic/Load.java
index 41b4cf9..6422cb3 100644
--- a/core/api/src/main/java/org/onlab/onos/net/statistic/Load.java
+++ b/core/api/src/main/java/org/onlab/onos/net/statistic/Load.java
@@ -22,24 +22,28 @@
 
     /**
      * Obtain the current observed rate (in bytes/s) on a link.
+     *
      * @return long value
      */
     long rate();
 
     /**
      * Obtain the latest bytes counter viewed on that link.
+     *
      * @return long value
      */
     long latest();
 
     /**
      * Indicates whether this load was built on valid values.
+     *
      * @return boolean
      */
     boolean isValid();
 
     /**
      * Returns when this value was seen.
+     *
      * @return epoch time
      */
     long time();
diff --git a/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticService.java b/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticService.java
index 3c9f3e5..cc97474 100644
--- a/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticService.java
@@ -29,6 +29,7 @@
 
     /**
      * Obtain the load for a the ingress to the given link.
+     *
      * @param link the link to query.
      * @return a {@link org.onlab.onos.net.statistic.Load Load}
      */
@@ -36,6 +37,7 @@
 
     /**
      * Obtain the load for the given port.
+     *
      * @param connectPoint the port to query
      * @return a {@link org.onlab.onos.net.statistic.Load}
      */
@@ -43,6 +45,7 @@
 
     /**
      * Find the most loaded link along a path.
+     *
      * @param path the path to search in
      * @return the most loaded {@link org.onlab.onos.net.Link}.
      */
@@ -50,6 +53,7 @@
 
     /**
      * Find the least loaded link along a path.
+     *
      * @param path the path to search in
      * @return the least loaded {@link org.onlab.onos.net.Link}.
      */
@@ -58,6 +62,7 @@
     /**
      * Returns the highest hitter (a flow rule) for a given port, ie. the
      * flow rule which is generating the most load.
+     *
      * @param connectPoint the port
      * @return the flow rule
      */
diff --git a/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticStore.java b/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticStore.java
index 96fcc11..6eefdbe 100644
--- a/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticStore.java
+++ b/core/api/src/main/java/org/onlab/onos/net/statistic/StatisticStore.java
@@ -28,24 +28,28 @@
 
     /**
      * Lay the foundation for receiving flow stats for this rule.
+     *
      * @param rule a {@link org.onlab.onos.net.flow.FlowRule}
      */
     void prepareForStatistics(FlowRule rule);
 
     /**
      * Remove entries associated with this rule.
+     *
      * @param rule {@link org.onlab.onos.net.flow.FlowRule}
      */
     void removeFromStatistics(FlowRule rule);
 
     /**
      * Adds a stats observation for a flow rule.
+     *
      * @param rule a {@link org.onlab.onos.net.flow.FlowEntry}
      */
     void addOrUpdateStatistic(FlowEntry rule);
 
     /**
      * Fetches the current observed stats values.
+     *
      * @param connectPoint the port to fetch information for
      * @return set of current flow rules
      */
@@ -53,6 +57,7 @@
 
     /**
      * Fetches the current observed stats values.
+     *
      * @param connectPoint the port to fetch information for
      * @return set of current values
      */
