diff --git a/core/api/src/main/java/org/onlab/onos/store/service/BatchReadResult.java b/core/api/src/main/java/org/onlab/onos/store/service/BatchReadResult.java
index 7281eff..525e77f 100644
--- a/core/api/src/main/java/org/onlab/onos/store/service/BatchReadResult.java
+++ b/core/api/src/main/java/org/onlab/onos/store/service/BatchReadResult.java
@@ -3,19 +3,30 @@
 import java.util.Collections;
 import java.util.List;
 
+/**
+ * Result of a batch read operation.
+ */
 public class BatchReadResult {
-	
-	private final List<ReadResult> readResults;
-	
-	public BatchReadResult(List<ReadResult> readResults)  {
-		this.readResults = Collections.unmodifiableList(readResults);
-	}
-	
-	public List<ReadResult> getAsList() {
-		return readResults;
-	}
-	
-	public int batchSize() {
-		return readResults.size();
-	}
-}
\ No newline at end of file
+
+    private final List<ReadResult> readResults;
+
+    public BatchReadResult(List<ReadResult> readResults)  {
+        this.readResults = Collections.unmodifiableList(readResults);
+    }
+
+    /**
+     * Returns the results as a list.
+     * @return list of results
+     */
+    public List<ReadResult> getAsList() {
+        return readResults;
+    }
+
+    /**
+     * Returns the batch size.
+     * @return batch size
+     */
+    public int batchSize() {
+        return readResults.size();
+    }
+}
