diff --git a/src/main/java/net/onrc/onos/core/datastore/utils/ByteArrayUtil.java b/src/main/java/net/onrc/onos/core/datastore/utils/ByteArrayUtil.java
index 14cd419..32abb59 100644
--- a/src/main/java/net/onrc/onos/core/datastore/utils/ByteArrayUtil.java
+++ b/src/main/java/net/onrc/onos/core/datastore/utils/ByteArrayUtil.java
@@ -5,7 +5,8 @@
 public class ByteArrayUtil {
 
     // Suppresses default constructor, ensuring non-instantiability.
-    private ByteArrayUtil() {}
+    private ByteArrayUtil() {
+    }
 
     /**
      * Returns a StringBuffer with each byte in {@code bytes}
@@ -13,11 +14,11 @@
      * separated by {@code sep}.
      *
      * @param bytes byte array to convert
-     * @param sep separator between each bytes
+     * @param sep   separator between each bytes
      * @return {@code bytes} converted to a StringBuffer
      */
     public static StringBuffer toHexStringBuffer(final byte[] bytes,
-            final String sep) {
+                                                 final String sep) {
         return toHexStringBuffer(bytes, sep, new StringBuffer());
     }
 
@@ -27,12 +28,12 @@
      * separated by {@code sep}.
      *
      * @param bytes byte array to convert
-     * @param sep separator between each bytes
-     * @param buf StringBuffer to append to.
+     * @param sep   separator between each bytes
+     * @param buf   StringBuffer to append to.
      * @return {@code buf}
      */
     public static StringBuffer toHexStringBuffer(final byte[] bytes,
-            final String sep, final StringBuffer buf) {
+                                                 final String sep, final StringBuffer buf) {
         if (bytes == null) {
             return buf;
         }
