You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2015/01/09 03:44:45 UTC

[41/66] [abbrv] accumulo git commit: ACCUMULO-3451 Format master branch (1.7.0-SNAPSHOT)

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/ComparableBytes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/ComparableBytes.java b/core/src/main/java/org/apache/accumulo/core/data/ComparableBytes.java
index 6bdc7e6..67e4bb1 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/ComparableBytes.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/ComparableBytes.java
@@ -19,24 +19,22 @@ package org.apache.accumulo.core.data;
 import org.apache.hadoop.io.BinaryComparable;
 
 /**
- * An array of bytes wrapped so as to extend Hadoop's
- * <code>BinaryComparable</code> class.
+ * An array of bytes wrapped so as to extend Hadoop's <code>BinaryComparable</code> class.
  */
 public class ComparableBytes extends BinaryComparable {
-  
+
   public byte[] data;
-  
+
   /**
-   * Creates a new byte wrapper. The given byte array is used directly as a
-   * backing array, so later changes made to the array reflect into the new
-   * object.
+   * Creates a new byte wrapper. The given byte array is used directly as a backing array, so later changes made to the array reflect into the new object.
    *
-   * @param b bytes to wrap
+   * @param b
+   *          bytes to wrap
    */
   public ComparableBytes(byte[] b) {
     this.data = b;
   }
-  
+
   /**
    * Gets the wrapped bytes in this object.
    *
@@ -45,10 +43,10 @@ public class ComparableBytes extends BinaryComparable {
   public byte[] getBytes() {
     return data;
   }
-  
+
   @Override
   public int getLength() {
     return data.length;
   }
-  
+
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/Condition.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/Condition.java b/core/src/main/java/org/apache/accumulo/core/data/Condition.java
index e4b089d..2dc2a0f 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Condition.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Condition.java
@@ -28,11 +28,11 @@ import org.apache.hadoop.io.Text;
 
 /**
  * Conditions that must be met on a particular column in a row.
- * 
+ *
  * @since 1.6.0
  */
 public class Condition {
-  
+
   private ByteSequence cf;
   private ByteSequence cq;
   private ByteSequence cv;
@@ -40,16 +40,17 @@ public class Condition {
   private Long ts;
   private IteratorSetting iterators[] = new IteratorSetting[0];
   private static final ByteSequence EMPTY = new ArrayByteSequence(new byte[0]);
-  
 
   /**
-   * Creates a new condition. The initial column value and timestamp are null,
-   * and the initial column visibility is empty. Characters in the column family
-   * and column qualifier are encoded as bytes in the condition using UTF-8.
+   * Creates a new condition. The initial column value and timestamp are null, and the initial column visibility is empty. Characters in the column family and
+   * column qualifier are encoded as bytes in the condition using UTF-8.
    *
-   * @param cf column family
-   * @param cq column qualifier
-   * @throws IllegalArgumentException if any argument is null
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @throws IllegalArgumentException
+   *           if any argument is null
    */
   public Condition(CharSequence cf, CharSequence cq) {
     checkArgument(cf != null, "cf is null");
@@ -58,14 +59,16 @@ public class Condition {
     this.cq = new ArrayByteSequence(cq.toString().getBytes(UTF_8));
     this.cv = EMPTY;
   }
-  
+
   /**
-   * Creates a new condition. The initial column value and timestamp are null,
-   * and the initial column visibility is empty.
+   * Creates a new condition. The initial column value and timestamp are null, and the initial column visibility is empty.
    *
-   * @param cf column family
-   * @param cq column qualifier
-   * @throws IllegalArgumentException if any argument is null
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @throws IllegalArgumentException
+   *           if any argument is null
    */
   public Condition(byte[] cf, byte[] cq) {
     checkArgument(cf != null, "cf is null");
@@ -76,12 +79,14 @@ public class Condition {
   }
 
   /**
-   * Creates a new condition. The initial column value and timestamp are null,
-   * and the initial column visibility is empty.
+   * Creates a new condition. The initial column value and timestamp are null, and the initial column visibility is empty.
    *
-   * @param cf column family
-   * @param cq column qualifier
-   * @throws IllegalArgumentException if any argument is null
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @throws IllegalArgumentException
+   *           if any argument is null
    */
   public Condition(Text cf, Text cq) {
     checkArgument(cf != null, "cf is null");
@@ -92,12 +97,14 @@ public class Condition {
   }
 
   /**
-   * Creates a new condition. The initial column value and timestamp are null,
-   * and the initial column visibility is empty.
+   * Creates a new condition. The initial column value and timestamp are null, and the initial column visibility is empty.
    *
-   * @param cf column family
-   * @param cq column qualifier
-   * @throws IllegalArgumentException if any argument is null
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @throws IllegalArgumentException
+   *           if any argument is null
    */
   public Condition(ByteSequence cf, ByteSequence cq) {
     checkArgument(cf != null, "cf is null");
@@ -115,7 +122,7 @@ public class Condition {
   public ByteSequence getFamily() {
     return cf;
   }
-  
+
   /**
    * Gets the column qualifier of this condition.
    *
@@ -128,14 +135,15 @@ public class Condition {
   /**
    * Sets the version for the column to check. If this is not set then the latest column will be checked, unless iterators do something different.
    *
-   * @param ts timestamp
+   * @param ts
+   *          timestamp
    * @return this condition
    */
   public Condition setTimestamp(long ts) {
     this.ts = ts;
     return this;
   }
-  
+
   /**
    * Gets the timestamp of this condition.
    *
@@ -147,12 +155,13 @@ public class Condition {
 
   /**
    * This method sets the expected value of a column. In order for the condition to pass the column must exist and have this value. If a value is not set, then
-   * the column must be absent for the condition to pass. The passed-in character sequence is encoded as UTF-8.
-   * See {@link #setValue(byte[])}.
-   * 
-   * @param value value
+   * the column must be absent for the condition to pass. The passed-in character sequence is encoded as UTF-8. See {@link #setValue(byte[])}.
+   *
+   * @param value
+   *          value
    * @return this condition
-   * @throws IllegalArgumentException if value is null
+   * @throws IllegalArgumentException
+   *           if value is null
    */
   public Condition setValue(CharSequence value) {
     checkArgument(value != null, "value is null");
@@ -163,40 +172,44 @@ public class Condition {
   /**
    * This method sets the expected value of a column. In order for the condition to pass the column must exist and have this value. If a value is not set, then
    * the column must be absent for the condition to pass.
-   * 
-   * @param value value
+   *
+   * @param value
+   *          value
    * @return this condition
-   * @throws IllegalArgumentException if value is null
+   * @throws IllegalArgumentException
+   *           if value is null
    */
   public Condition setValue(byte[] value) {
     checkArgument(value != null, "value is null");
     this.val = new ArrayByteSequence(value);
     return this;
   }
-  
+
   /**
    * This method sets the expected value of a column. In order for the condition to pass the column must exist and have this value. If a value is not set, then
-   * the column must be absent for the condition to pass.
-   * See {@link #setValue(byte[])}.
+   * the column must be absent for the condition to pass. See {@link #setValue(byte[])}.
    *
-   * @param value value
+   * @param value
+   *          value
    * @return this condition
-   * @throws IllegalArgumentException if value is null
+   * @throws IllegalArgumentException
+   *           if value is null
    */
   public Condition setValue(Text value) {
     checkArgument(value != null, "value is null");
     this.val = new ArrayByteSequence(value.getBytes(), 0, value.getLength());
     return this;
   }
-  
+
   /**
    * This method sets the expected value of a column. In order for the condition to pass the column must exist and have this value. If a value is not set, then
-   * the column must be absent for the condition to pass.
-   * See {@link #setValue(byte[])}.
+   * the column must be absent for the condition to pass. See {@link #setValue(byte[])}.
    *
-   * @param value value
+   * @param value
+   *          value
    * @return this condition
-   * @throws IllegalArgumentException if value is null
+   * @throws IllegalArgumentException
+   *           if value is null
    */
   public Condition setValue(ByteSequence value) {
     checkArgument(value != null, "value is null");
@@ -216,8 +229,10 @@ public class Condition {
   /**
    * Sets the visibility for the column to check. If not set it defaults to empty visibility.
    *
-   * @param cv column visibility
-   * @throws IllegalArgumentException if cv is null
+   * @param cv
+   *          column visibility
+   * @throws IllegalArgumentException
+   *           if cv is null
    */
   public Condition setVisibility(ColumnVisibility cv) {
     checkArgument(cv != null, "cv is null");
@@ -240,18 +255,19 @@ public class Condition {
    * covers only the family, qualifier, and visibility (if the timestamp is set then it will be used to narrow the range). Value equality will be tested using
    * the first entry returned by the iterator stack.
    *
-   * @param iterators iterators
+   * @param iterators
+   *          iterators
    * @return this condition
-   * @throws IllegalArgumentException if iterators or any of its elements are null,
-   * or if any two iterators share the same name or priority
+   * @throws IllegalArgumentException
+   *           if iterators or any of its elements are null, or if any two iterators share the same name or priority
    */
   public Condition setIterators(IteratorSetting... iterators) {
     checkArgument(iterators != null, "iterators is null");
-    
+
     if (iterators.length > 1) {
       HashSet<String> names = new HashSet<String>();
       HashSet<Integer> prios = new HashSet<Integer>();
-      
+
       for (IteratorSetting iteratorSetting : iterators) {
         if (!names.add(iteratorSetting.getName()))
           throw new IllegalArgumentException("iterator name used more than once " + iteratorSetting.getName());
@@ -259,7 +275,7 @@ public class Condition {
           throw new IllegalArgumentException("iterator priority used more than once " + iteratorSetting.getPriority());
       }
     }
-    
+
     this.iterators = iterators;
     return this;
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/ConditionalMutation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/ConditionalMutation.java b/core/src/main/java/org/apache/accumulo/core/data/ConditionalMutation.java
index 4772c9c..ccec325 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/ConditionalMutation.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/ConditionalMutation.java
@@ -29,39 +29,39 @@ import org.apache.hadoop.io.Text;
 
 /**
  * A Mutation that contains a list of conditions that must all be met before the mutation is applied.
- * 
+ *
  * @since 1.6.0
  */
 public class ConditionalMutation extends Mutation {
-  
+
   private List<Condition> conditions = new ArrayList<Condition>();
 
   public ConditionalMutation(byte[] row, Condition... conditions) {
     super(row);
     init(conditions);
   }
-  
+
   public ConditionalMutation(byte[] row, int start, int length, Condition... conditions) {
     super(row, start, length);
     init(conditions);
   }
-  
+
   public ConditionalMutation(Text row, Condition... conditions) {
     super(row);
     init(conditions);
   }
-  
+
   public ConditionalMutation(CharSequence row, Condition... conditions) {
     super(row);
     init(conditions);
   }
-  
+
   public ConditionalMutation(ByteSequence row, Condition... conditions) {
     // TODO add ByteSequence methods to mutations
     super(row.toArray());
     init(conditions);
   }
-  
+
   public ConditionalMutation(ConditionalMutation cm) {
     super(cm);
     this.conditions = new ArrayList<Condition>(cm.conditions);
@@ -71,12 +71,12 @@ public class ConditionalMutation extends Mutation {
     checkArgument(conditions != null, "conditions is null");
     this.conditions.addAll(Arrays.asList(conditions));
   }
-  
+
   public void addCondition(Condition condition) {
     checkArgument(condition != null, "condition is null");
     this.conditions.add(condition);
   }
-  
+
   public List<Condition> getConditions() {
     return Collections.unmodifiableList(conditions);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/ConstraintViolationSummary.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/ConstraintViolationSummary.java b/core/src/main/java/org/apache/accumulo/core/data/ConstraintViolationSummary.java
index f84d1f6..6109ac8 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/ConstraintViolationSummary.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/ConstraintViolationSummary.java
@@ -22,20 +22,23 @@ import org.apache.accumulo.core.data.thrift.TConstraintViolationSummary;
  * A summary of constraint violations across some number of mutations.
  */
 public class ConstraintViolationSummary {
-  
+
   public String constrainClass;
   public short violationCode;
   public String violationDescription;
   public long numberOfViolatingMutations;
-  
+
   /**
    * Creates a new summary.
    *
-   * @param constrainClass class of constraint that was violated
-   * @param violationCode violation code
-   * @param violationDescription description of violation
-   * @param numberOfViolatingMutations number of mutations that produced this
-   * particular violation
+   * @param constrainClass
+   *          class of constraint that was violated
+   * @param violationCode
+   *          violation code
+   * @param violationDescription
+   *          description of violation
+   * @param numberOfViolatingMutations
+   *          number of mutations that produced this particular violation
    */
   public ConstraintViolationSummary(String constrainClass, short violationCode, String violationDescription, long numberOfViolatingMutations) {
     this.constrainClass = constrainClass;
@@ -43,39 +46,39 @@ public class ConstraintViolationSummary {
     this.violationDescription = violationDescription;
     this.numberOfViolatingMutations = numberOfViolatingMutations;
   }
-  
+
   /**
    * Creates a new summary from Thrift.
    *
-   * @param tcvs Thrift summary
+   * @param tcvs
+   *          Thrift summary
    */
   public ConstraintViolationSummary(TConstraintViolationSummary tcvs) {
     this(tcvs.constrainClass, tcvs.violationCode, tcvs.violationDescription, tcvs.numberOfViolatingMutations);
   }
-  
+
   public String getConstrainClass() {
     return this.constrainClass;
   }
-  
+
   public short getViolationCode() {
     return this.violationCode;
   }
-  
+
   public String getViolationDescription() {
     return this.violationDescription;
   }
-  
+
   public long getNumberOfViolatingMutations() {
     return this.numberOfViolatingMutations;
   }
-  
+
   @Override
   public String toString() {
-    return String.format(
-        "ConstraintViolationSummary(constrainClass:%s, violationCode:%d, violationDescription:%s, numberOfViolatingMutations:%d)",
+    return String.format("ConstraintViolationSummary(constrainClass:%s, violationCode:%d, violationDescription:%s, numberOfViolatingMutations:%d)",
         constrainClass, violationCode, violationDescription, numberOfViolatingMutations);
   }
-  
+
   /**
    * Converts this summary to Thrift.
    *
@@ -84,5 +87,5 @@ public class ConstraintViolationSummary {
   public TConstraintViolationSummary toThrift() {
     return new TConstraintViolationSummary(this.constrainClass, violationCode, violationDescription, numberOfViolatingMutations);
   }
-  
+
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/Key.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/Key.java b/core/src/main/java/org/apache/accumulo/core/data/Key.java
index 23b48ff..8ebba43 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Key.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Key.java
@@ -17,11 +17,11 @@
 package org.apache.accumulo.core.data;
 
 /**
- * This is the Key used to store and access individual values in Accumulo.  A Key is a tuple composed of a row, column family, column qualifier, 
+ * This is the Key used to store and access individual values in Accumulo.  A Key is a tuple composed of a row, column family, column qualifier,
  * column visibility, timestamp, and delete marker.
- * 
+ *
  * Keys are comparable and therefore have a sorted order defined by {@link #compareTo(Key)}.
- * 
+ *
  */
 
 import static org.apache.accumulo.core.util.ByteBufferUtil.toBytes;
@@ -43,35 +43,35 @@ import org.apache.hadoop.io.WritableComparator;
 import org.apache.hadoop.io.WritableUtils;
 
 public class Key implements WritableComparable<Key>, Cloneable {
-  
+
   protected byte[] row;
   protected byte[] colFamily;
   protected byte[] colQualifier;
   protected byte[] colVisibility;
   protected long timestamp;
   protected boolean deleted;
-  
+
   @Override
   public boolean equals(Object o) {
     if (o instanceof Key)
       return this.equals((Key) o, PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME_DEL);
     return false;
   }
-  
+
   private static final byte EMPTY_BYTES[] = new byte[0];
-  
+
   private byte[] copyIfNeeded(byte ba[], int off, int len, boolean copyData) {
     if (len == 0)
       return EMPTY_BYTES;
-    
+
     if (!copyData && ba.length == len && off == 0)
       return ba;
-    
+
     byte[] copy = new byte[len];
     System.arraycopy(ba, off, copy, 0, len);
     return copy;
   }
-  
+
   private final void init(byte r[], int rOff, int rLen, byte cf[], int cfOff, int cfLen, byte cq[], int cqOff, int cqLen, byte cv[], int cvOff, int cvLen,
       long ts, boolean del, boolean copy) {
     row = copyIfNeeded(r, rOff, rLen, copy);
@@ -81,7 +81,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
     timestamp = ts;
     deleted = del;
   }
-  
+
   /**
    * Creates a key with empty row, empty column family, empty column qualifier, empty column visibility, timestamp {@link Long#MAX_VALUE}, and delete marker
    * false.
@@ -94,92 +94,126 @@ public class Key implements WritableComparable<Key>, Cloneable {
     timestamp = Long.MAX_VALUE;
     deleted = false;
   }
-  
+
   /**
    * Creates a key with the specified row, empty column family, empty column qualifier, empty column visibility, timestamp {@link Long#MAX_VALUE}, and delete
    * marker false.
    *
-   * @param row row ID
+   * @param row
+   *          row ID
    */
   public Key(Text row) {
     init(row.getBytes(), 0, row.getLength(), EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, Long.MAX_VALUE, false, true);
   }
-  
+
   /**
    * Creates a key with the specified row, empty column family, empty column qualifier, empty column visibility, the specified timestamp, and delete marker
    * false.
    *
-   * @param row row ID
-   * @param ts timestamp
+   * @param row
+   *          row ID
+   * @param ts
+   *          timestamp
    */
   public Key(Text row, long ts) {
     this(row);
     timestamp = ts;
   }
-  
+
   /**
    * Creates a key. The delete marker defaults to false.
    *
-   * @param row bytes containing row ID
-   * @param rOff offset into row where key's row ID begins (inclusive)
-   * @param rLen length of row ID in row
-   * @param cf bytes containing column family
-   * @param cfOff offset into cf where key's column family begins (inclusive)
-   * @param cfLen length of column family in cf
-   * @param cq bytes containing column qualifier
-   * @param cqOff offset into cq where key's column qualifier begins (inclusive)
-   * @param cqLen length of column qualifier in cq
-   * @param cv bytes containing column visibility
-   * @param cvOff offset into cv where key's column visibility begins (inclusive)
-   * @param cvLen length of column visibility in cv
-   * @param ts timestamp
+   * @param row
+   *          bytes containing row ID
+   * @param rOff
+   *          offset into row where key's row ID begins (inclusive)
+   * @param rLen
+   *          length of row ID in row
+   * @param cf
+   *          bytes containing column family
+   * @param cfOff
+   *          offset into cf where key's column family begins (inclusive)
+   * @param cfLen
+   *          length of column family in cf
+   * @param cq
+   *          bytes containing column qualifier
+   * @param cqOff
+   *          offset into cq where key's column qualifier begins (inclusive)
+   * @param cqLen
+   *          length of column qualifier in cq
+   * @param cv
+   *          bytes containing column visibility
+   * @param cvOff
+   *          offset into cv where key's column visibility begins (inclusive)
+   * @param cvLen
+   *          length of column visibility in cv
+   * @param ts
+   *          timestamp
    */
   public Key(byte row[], int rOff, int rLen, byte cf[], int cfOff, int cfLen, byte cq[], int cqOff, int cqLen, byte cv[], int cvOff, int cvLen, long ts) {
     init(row, rOff, rLen, cf, cfOff, cfLen, cq, cqOff, cqLen, cv, cvOff, cvLen, ts, false, true);
   }
-  
+
   /**
    * Creates a key. The delete marker defaults to false.
    *
-   * @param row row ID
-   * @param colFamily column family
-   * @param colQualifier column qualifier
-   * @param colVisibility column visibility
-   * @param timestamp timestamp
+   * @param row
+   *          row ID
+   * @param colFamily
+   *          column family
+   * @param colQualifier
+   *          column qualifier
+   * @param colVisibility
+   *          column visibility
+   * @param timestamp
+   *          timestamp
    */
   public Key(byte[] row, byte[] colFamily, byte[] colQualifier, byte[] colVisibility, long timestamp) {
     this(row, colFamily, colQualifier, colVisibility, timestamp, false, true);
   }
-  
+
   /**
    * Creates a key.
    *
-   * @param row row ID
-   * @param cf column family
-   * @param cq column qualifier
-   * @param cv column visibility
-   * @param ts timestamp
-   * @param deleted delete marker
+   * @param row
+   *          row ID
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @param cv
+   *          column visibility
+   * @param ts
+   *          timestamp
+   * @param deleted
+   *          delete marker
    */
   public Key(byte[] row, byte[] cf, byte[] cq, byte[] cv, long ts, boolean deleted) {
     this(row, cf, cq, cv, ts, deleted, true);
   }
-  
+
   /**
    * Creates a key.
    *
-   * @param row row ID
-   * @param cf column family
-   * @param cq column qualifier
-   * @param cv column visibility
-   * @param ts timestamp
-   * @param deleted delete marker
-   * @param copy if true, forces copy of byte array values into key
+   * @param row
+   *          row ID
+   * @param cf
+   *          column family
+   * @param cq
+   *          column qualifier
+   * @param cv
+   *          column visibility
+   * @param ts
+   *          timestamp
+   * @param deleted
+   *          delete marker
+   * @param copy
+   *          if true, forces copy of byte array values into key
    */
   public Key(byte[] row, byte[] cf, byte[] cq, byte[] cv, long ts, boolean deleted, boolean copy) {
     init(row, 0, row.length, cf, 0, cf.length, cq, 0, cq.length, cv, 0, cv.length, ts, deleted, copy);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, empty column qualifier, empty column visibility, timestamp {@link Long#MAX_VALUE}, and
    * delete marker false.
@@ -187,7 +221,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public Key(Text row, Text cf) {
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, Long.MAX_VALUE, false, true);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, the specified column qualifier, empty column visibility, timestamp
    * {@link Long#MAX_VALUE}, and delete marker false.
@@ -195,7 +229,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public Key(Text row, Text cf, Text cq) {
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0, cq.getLength(), EMPTY_BYTES, 0, 0, Long.MAX_VALUE, false, true);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, the specified column qualifier, the specified column visibility, timestamp
    * {@link Long#MAX_VALUE}, and delete marker false.
@@ -204,7 +238,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0, cq.getLength(), cv.getBytes(), 0, cv.getLength(),
         Long.MAX_VALUE, false, true);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, the specified column qualifier, empty column visibility, the specified timestamp, and
    * delete marker false.
@@ -212,7 +246,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public Key(Text row, Text cf, Text cq, long ts) {
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0, cq.getLength(), EMPTY_BYTES, 0, 0, ts, false, true);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, the specified column qualifier, the specified column visibility, the specified
    * timestamp, and delete marker false.
@@ -221,7 +255,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0, cq.getLength(), cv.getBytes(), 0, cv.getLength(), ts, false,
         true);
   }
-  
+
   /**
    * Creates a key with the specified row, the specified column family, the specified column qualifier, the specified column visibility, the specified
    * timestamp, and delete marker false.
@@ -230,66 +264,66 @@ public class Key implements WritableComparable<Key>, Cloneable {
     byte[] expr = cv.getExpression();
     init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0, cq.getLength(), expr, 0, expr.length, ts, false, true);
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text)}.
    */
   public Key(CharSequence row) {
     this(new Text(row.toString()));
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text)}.
    */
   public Key(CharSequence row, CharSequence cf) {
     this(new Text(row.toString()), new Text(cf.toString()));
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text)}.
    */
   public Key(CharSequence row, CharSequence cf, CharSequence cq) {
     this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()));
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,Text)}.
    */
   public Key(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cv) {
     this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), new Text(cv.toString()));
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,long)}.
    */
   public Key(CharSequence row, CharSequence cf, CharSequence cq, long ts) {
     this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), ts);
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,Text,long)}.
    */
   public Key(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cv, long ts) {
     this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), new Text(cv.toString()), ts);
   }
-  
+
   /**
    * Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,ColumnVisibility,long)}.
    */
   public Key(CharSequence row, CharSequence cf, CharSequence cq, ColumnVisibility cv, long ts) {
     this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), new Text(cv.getExpression()), ts);
   }
-  
+
   private byte[] followingArray(byte ba[]) {
     byte[] fba = new byte[ba.length + 1];
     System.arraycopy(ba, 0, fba, 0, ba.length);
     fba[ba.length] = (byte) 0x00;
     return fba;
   }
-  
+
   /**
    * Returns a key that will sort immediately after this key.
-   * 
+   *
    * @param part
    *          PartialKey except {@link PartialKey#ROW_COLFAM_COLQUAL_COLVIS_TIME_DEL}
    */
@@ -328,18 +362,19 @@ public class Key implements WritableComparable<Key>, Cloneable {
     }
     return returnKey;
   }
-  
+
   /**
    * Creates a key with the same row, column family, column qualifier, column visibility, timestamp, and delete marker as the given key.
    */
   public Key(Key other) {
     set(other);
   }
-  
+
   /**
    * Creates a key from Thrift.
    *
-   * @param tkey Thrift key
+   * @param tkey
+   *          Thrift key
    */
   public Key(TKey tkey) {
     this.row = toBytes(tkey.row);
@@ -362,143 +397,143 @@ public class Key implements WritableComparable<Key>, Cloneable {
       throw new IllegalArgumentException("null column visibility");
     }
   }
-  
+
   /**
-   * Writes the row ID into the given <code>Text</code>. This method gives
-   * users control over allocation of Text objects by copying into the passed in
-   * text.
-   * 
-   * @param r <code>Text</code> object to copy into
+   * Writes the row ID into the given <code>Text</code>. This method gives users control over allocation of Text objects by copying into the passed in text.
+   *
+   * @param r
+   *          <code>Text</code> object to copy into
    * @return the <code>Text</code> that was passed in
    */
   public Text getRow(Text r) {
     r.set(row, 0, row.length);
     return r;
   }
-  
+
   /**
-   * Returns the row ID as a byte sequence. This method returns a pointer to the
-   * key's internal data and does not copy it.
-   * 
+   * Returns the row ID as a byte sequence. This method returns a pointer to the key's internal data and does not copy it.
+   *
    * @return ByteSequence that points to the internal key row ID data
    */
   public ByteSequence getRowData() {
     return new ArrayByteSequence(row);
   }
-  
+
   /**
    * Gets the row ID as a <code>Text</code> object.
-   * 
+   *
    * @return Text containing the row ID
    */
   public Text getRow() {
     return getRow(new Text());
   }
-  
+
   /**
    * Compares this key's row ID with another.
-   * 
-   * @param r row ID to compare
+   *
+   * @param r
+   *          row ID to compare
    * @return same as {@link #getRow()}.compareTo(r)
    */
   public int compareRow(Text r) {
     return WritableComparator.compareBytes(row, 0, row.length, r.getBytes(), 0, r.getLength());
   }
-  
+
   /**
-   * Returns the column family as a byte sequence. This method returns a pointer to the
-   * key's internal data and does not copy it.
-   * 
+   * Returns the column family as a byte sequence. This method returns a pointer to the key's internal data and does not copy it.
+   *
    * @return ByteSequence that points to the internal key column family data
    */
   public ByteSequence getColumnFamilyData() {
     return new ArrayByteSequence(colFamily);
   }
-  
+
   /**
-   * Writes the column family into the given <code>Text</code>. This method gives
-   * users control over allocation of Text objects by copying into the passed in
+   * Writes the column family into the given <code>Text</code>. This method gives users control over allocation of Text objects by copying into the passed in
    * text.
-   * 
-   * @param cf <code>Text</code> object to copy into
+   *
+   * @param cf
+   *          <code>Text</code> object to copy into
    * @return the <code>Text</code> that was passed in
    */
   public Text getColumnFamily(Text cf) {
     cf.set(colFamily, 0, colFamily.length);
     return cf;
   }
-  
+
   /**
    * Gets the column family as a <code>Text</code> object.
-   * 
+   *
    * @return Text containing the column family
    */
   public Text getColumnFamily() {
     return getColumnFamily(new Text());
   }
-  
+
   /**
    * Compares this key's column family with another.
-   * 
-   * @param cf column family to compare
+   *
+   * @param cf
+   *          column family to compare
    * @return same as {@link #getColumnFamily()}.compareTo(cf)
    */
-  
+
   public int compareColumnFamily(Text cf) {
     return WritableComparator.compareBytes(colFamily, 0, colFamily.length, cf.getBytes(), 0, cf.getLength());
   }
-  
+
   /**
-   * Returns the column qualifier as a byte sequence. This method returns a pointer to the
-   * key's internal data and does not copy it.
-   * 
+   * Returns the column qualifier as a byte sequence. This method returns a pointer to the key's internal data and does not copy it.
+   *
    * @return ByteSequence that points to the internal key column qualifier data
    */
   public ByteSequence getColumnQualifierData() {
     return new ArrayByteSequence(colQualifier);
   }
-  
+
   /**
-   * Writes the column qualifier into the given <code>Text</code>. This method gives
-   * users control over allocation of Text objects by copying into the passed in
+   * Writes the column qualifier into the given <code>Text</code>. This method gives users control over allocation of Text objects by copying into the passed in
    * text.
-   * 
-   * @param cq <code>Text</code> object to copy into
+   *
+   * @param cq
+   *          <code>Text</code> object to copy into
    * @return the <code>Text</code> that was passed in
    */
   public Text getColumnQualifier(Text cq) {
     cq.set(colQualifier, 0, colQualifier.length);
     return cq;
   }
-  
+
   /**
    * Gets the column qualifier as a <code>Text</code> object.
-   * 
+   *
    * @return Text containing the column qualifier
    */
   public Text getColumnQualifier() {
     return getColumnQualifier(new Text());
   }
-  
+
   /**
    * Compares this key's column qualifier with another.
-   * 
-   * @param cq column qualifier to compare
+   *
+   * @param cq
+   *          column qualifier to compare
    * @return same as {@link #getColumnQualifier()}.compareTo(cq)
    */
   public int compareColumnQualifier(Text cq) {
     return WritableComparator.compareBytes(colQualifier, 0, colQualifier.length, cq.getBytes(), 0, cq.getLength());
   }
-  
+
   /**
    * Sets the timestamp.
    *
-   * @param ts timestamp
+   * @param ts
+   *          timestamp
    */
   public void setTimestamp(long ts) {
     this.timestamp = ts;
   }
-  
+
   /**
    * Gets the timestamp.
    *
@@ -507,7 +542,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public long getTimestamp() {
     return timestamp;
   }
-  
+
   /**
    * Determines if this key is deleted (i.e., has a delete marker = true).
    *
@@ -516,64 +551,64 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public boolean isDeleted() {
     return deleted;
   }
-  
+
   /**
    * Sets the delete marker on this key.
    *
-   * @param deleted delete marker (true to delete)
+   * @param deleted
+   *          delete marker (true to delete)
    */
   public void setDeleted(boolean deleted) {
     this.deleted = deleted;
   }
-  
+
   /**
-   * Returns the column visibility as a byte sequence. This method returns a pointer to the
-   * key's internal data and does not copy it.
-   * 
+   * Returns the column visibility as a byte sequence. This method returns a pointer to the key's internal data and does not copy it.
+   *
    * @return ByteSequence that points to the internal key column visibility data
    */
   public ByteSequence getColumnVisibilityData() {
     return new ArrayByteSequence(colVisibility);
   }
-  
+
   /**
    * Gets the column visibility as a <code>Text</code> object.
-   * 
+   *
    * @return Text containing the column visibility
    */
   public final Text getColumnVisibility() {
     return getColumnVisibility(new Text());
   }
-  
+
   /**
-   * Writes the column visibvility into the given <code>Text</code>. This method gives
-   * users control over allocation of Text objects by copying into the passed in
-   * text.
-   * 
-   * @param cv <code>Text</code> object to copy into
+   * Writes the column visibvility into the given <code>Text</code>. This method gives users control over allocation of Text objects by copying into the passed
+   * in text.
+   *
+   * @param cv
+   *          <code>Text</code> object to copy into
    * @return the <code>Text</code> that was passed in
    */
   public final Text getColumnVisibility(Text cv) {
     cv.set(colVisibility, 0, colVisibility.length);
     return cv;
   }
-  
+
   /**
-   * Gets the column visibility. <b>WARNING:</b> using this method may inhibit
-   * performance since a new ColumnVisibility object is created on every call.
-   * 
+   * Gets the column visibility. <b>WARNING:</b> using this method may inhibit performance since a new ColumnVisibility object is created on every call.
+   *
    * @return ColumnVisibility representing the column visibility
    * @since 1.5.0
    */
   public final ColumnVisibility getColumnVisibilityParsed() {
     return new ColumnVisibility(colVisibility);
   }
-  
+
   /**
-   * Sets this key's row, column family, column qualifier, column visibility, timestamp, and delete marker to be the same as another key's.
-   * This method does not copy data from the other key, but only references to it.
+   * Sets this key's row, column family, column qualifier, column visibility, timestamp, and delete marker to be the same as another key's. This method does not
+   * copy data from the other key, but only references to it.
    *
-   * @param k key to set from
+   * @param k
+   *          key to set from
    */
   public void set(Key k) {
     row = k.row;
@@ -582,61 +617,63 @@ public class Key implements WritableComparable<Key>, Cloneable {
     colVisibility = k.colVisibility;
     timestamp = k.timestamp;
     deleted = k.deleted;
-    
+
   }
-  
+
   @Override
   public void readFields(DataInput in) throws IOException {
     // this method is a little screwy so it will be compatible with older
     // code that serialized data
-    
+
     int colFamilyOffset = WritableUtils.readVInt(in);
     int colQualifierOffset = WritableUtils.readVInt(in);
     int colVisibilityOffset = WritableUtils.readVInt(in);
     int totalLen = WritableUtils.readVInt(in);
-    
+
     row = new byte[colFamilyOffset];
     colFamily = new byte[colQualifierOffset - colFamilyOffset];
     colQualifier = new byte[colVisibilityOffset - colQualifierOffset];
     colVisibility = new byte[totalLen - colVisibilityOffset];
-    
+
     in.readFully(row);
     in.readFully(colFamily);
     in.readFully(colQualifier);
     in.readFully(colVisibility);
-    
+
     timestamp = WritableUtils.readVLong(in);
     deleted = in.readBoolean();
   }
-  
+
   @Override
   public void write(DataOutput out) throws IOException {
-    
+
     int colFamilyOffset = row.length;
     int colQualifierOffset = colFamilyOffset + colFamily.length;
     int colVisibilityOffset = colQualifierOffset + colQualifier.length;
     int totalLen = colVisibilityOffset + colVisibility.length;
-    
+
     WritableUtils.writeVInt(out, colFamilyOffset);
     WritableUtils.writeVInt(out, colQualifierOffset);
     WritableUtils.writeVInt(out, colVisibilityOffset);
-    
+
     WritableUtils.writeVInt(out, totalLen);
-    
+
     out.write(row);
     out.write(colFamily);
     out.write(colQualifier);
     out.write(colVisibility);
-    
+
     WritableUtils.writeVLong(out, timestamp);
     out.writeBoolean(deleted);
   }
-  
+
   /**
    * Compares part of a key. For example, compares just the row and column family, and if those are equal then return true.
-   * 
-   * @param other key to compare to
-   * @param part part of key to compare
+   *
+   * @param other
+   *          key to compare to
+   * @param part
+   *          part of key to compare
    * @return true if specified parts of keys match, false otherwise
    */
   public boolean equals(Key other, PartialKey part) {
@@ -660,18 +697,20 @@ public class Key implements WritableComparable<Key>, Cloneable {
         throw new IllegalArgumentException("Unrecognized partial key specification " + part);
     }
   }
-  
+
   /**
    * Compares elements of a key given by a {@link PartialKey}. The corresponding elements (row, column family, column qualifier, column visibility, timestamp,
-   * and delete marker) are compared in order until unequal elements are found. The row, column family, column qualifier, and column
-   * visibility are compared lexographically and sorted ascending. The timestamps are compared numerically and sorted descending so that the most recent data
-   * comes first. Lastly, a delete marker of true sorts before a delete marker of false. The result of the first unequal comparison is returned.
+   * and delete marker) are compared in order until unequal elements are found. The row, column family, column qualifier, and column visibility are compared
+   * lexographically and sorted ascending. The timestamps are compared numerically and sorted descending so that the most recent data comes first. Lastly, a
+   * delete marker of true sorts before a delete marker of false. The result of the first unequal comparison is returned.
+   *
+   * For example, for {@link PartialKey#ROW_COLFAM}, this method compares just the row and column family. If the row IDs are not equal, return the result of the
+   * row comparison; otherwise, returns the result of the column family comparison.
    *
-   * For example, for {@link PartialKey#ROW_COLFAM}, this method compares just the row and column family. If the
-   * row IDs are not equal, return the result of the row comparison; otherwise, returns the result of the column family comparison.
-   * 
-   * @param other key to compare to
-   * @param part part of key to compare
+   * @param other
+   *          key to compare to
+   * @param part
+   *          part of key to compare
    * @return comparison result
    * @see #compareTo(Key)
    */
@@ -680,22 +719,22 @@ public class Key implements WritableComparable<Key>, Cloneable {
     int result = WritableComparator.compareBytes(row, 0, row.length, other.row, 0, other.row.length);
     if (result != 0 || part.equals(PartialKey.ROW))
       return result;
-    
+
     // check for matching column family
     result = WritableComparator.compareBytes(colFamily, 0, colFamily.length, other.colFamily, 0, other.colFamily.length);
     if (result != 0 || part.equals(PartialKey.ROW_COLFAM))
       return result;
-    
+
     // check for matching column qualifier
     result = WritableComparator.compareBytes(colQualifier, 0, colQualifier.length, other.colQualifier, 0, other.colQualifier.length);
     if (result != 0 || part.equals(PartialKey.ROW_COLFAM_COLQUAL))
       return result;
-    
+
     // check for matching column visibility
     result = WritableComparator.compareBytes(colVisibility, 0, colVisibility.length, other.colVisibility, 0, other.colVisibility.length);
     if (result != 0 || part.equals(PartialKey.ROW_COLFAM_COLQUAL_COLVIS))
       return result;
-    
+
     // check for matching timestamp
     if (timestamp < other.timestamp)
       result = 1;
@@ -703,23 +742,24 @@ public class Key implements WritableComparable<Key>, Cloneable {
       result = -1;
     else
       result = 0;
-    
+
     if (result != 0 || part.equals(PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME))
       return result;
-    
+
     // check for matching deleted flag
     if (deleted)
       result = other.deleted ? 0 : -1;
     else
       result = other.deleted ? 1 : 0;
-    
+
     return result;
   }
-  
+
   /**
    * Compares this key with another.
    *
-   * @param other key to compare to
+   * @param other
+   *          key to compare to
    * @return comparison result
    * @see #compareTo(Key, PartialKey)
    */
@@ -727,48 +767,53 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public int compareTo(Key other) {
     return compareTo(other, PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME_DEL);
   }
-  
+
   @Override
   public int hashCode() {
     return WritableComparator.hashBytes(row, row.length) + WritableComparator.hashBytes(colFamily, colFamily.length)
         + WritableComparator.hashBytes(colQualifier, colQualifier.length) + WritableComparator.hashBytes(colVisibility, colVisibility.length)
         + (int) (timestamp ^ (timestamp >>> 32));
   }
-  
+
   /**
-   * Returns an ASCII printable string form of the given byte array, treating
-   * the bytes as ASCII characters. See
-   * {@link #appendPrintableString(byte[], int, int, int, StringBuilder)}
-   * for caveats.
+   * Returns an ASCII printable string form of the given byte array, treating the bytes as ASCII characters. See
+   * {@link #appendPrintableString(byte[], int, int, int, StringBuilder)} for caveats.
    *
-   * @param ba byte array
-   * @param offset offset to start with in byte array (inclusive)
-   * @param len number of bytes to print
-   * @param maxLen maximum number of bytes to convert to printable form
+   * @param ba
+   *          byte array
+   * @param offset
+   *          offset to start with in byte array (inclusive)
+   * @param len
+   *          number of bytes to print
+   * @param maxLen
+   *          maximum number of bytes to convert to printable form
    * @return printable string
    * @see #appendPrintableString(byte[], int, int, int, StringBuilder)
    */
   public static String toPrintableString(byte ba[], int offset, int len, int maxLen) {
     return appendPrintableString(ba, offset, len, maxLen, new StringBuilder()).toString();
   }
-  
+
   /**
-   * Appends ASCII printable characters to a string, based on the given byte
-   * array, treating the bytes as ASCII characters. If a byte can be converted
-   * to a ASCII printable character it is appended as is; otherwise, it is
-   * appended as a character code, e.g., %05; for byte value 5. If len > maxlen,
-   * the string includes a "TRUNCATED" note at the end.
+   * Appends ASCII printable characters to a string, based on the given byte array, treating the bytes as ASCII characters. If a byte can be converted to a
+   * ASCII printable character it is appended as is; otherwise, it is appended as a character code, e.g., %05; for byte value 5. If len > maxlen, the string
+   * includes a "TRUNCATED" note at the end.
    *
-   * @param ba byte array
-   * @param offset offset to start with in byte array (inclusive)
-   * @param len number of bytes to print
-   * @param maxLen maximum number of bytes to convert to printable form
-   * @param sb <code>StringBuilder</code> to append to
+   * @param ba
+   *          byte array
+   * @param offset
+   *          offset to start with in byte array (inclusive)
+   * @param len
+   *          number of bytes to print
+   * @param maxLen
+   *          maximum number of bytes to convert to printable form
+   * @param sb
+   *          <code>StringBuilder</code> to append to
    * @return given <code>StringBuilder</code>
    */
   public static StringBuilder appendPrintableString(byte ba[], int offset, int len, int maxLen, StringBuilder sb) {
     int plen = Math.min(len, maxLen);
-    
+
     for (int i = 0; i < plen; i++) {
       int c = 0xff & ba[offset + i];
       if (c >= 32 && c <= 126)
@@ -776,18 +821,18 @@ public class Key implements WritableComparable<Key>, Cloneable {
       else
         sb.append("%" + String.format("%02x;", c));
     }
-    
+
     if (len > maxLen) {
       sb.append("... TRUNCATED");
     }
-    
+
     return sb;
   }
 
   private StringBuilder rowColumnStringBuilder() {
     return rowColumnStringBuilder(Constants.MAX_DATA_TO_PRINT);
   }
-  
+
   private StringBuilder rowColumnStringBuilder(int maxComponentLength) {
     StringBuilder sb = new StringBuilder();
     appendPrintableString(row, 0, row.length, maxComponentLength, sb);
@@ -800,7 +845,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
     sb.append("]");
     return sb;
   }
-  
+
   @Override
   public String toString() {
     StringBuilder sb = rowColumnStringBuilder();
@@ -812,8 +857,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
   }
 
   /**
-   * Stringify this {@link Key}, avoiding truncation of each component, only limiting
-   * each component to a length of {@link Integer#MAX_VALUE}
+   * Stringify this {@link Key}, avoiding truncation of each component, only limiting each component to a length of {@link Integer#MAX_VALUE}
+   *
    * @since 1.7.0
    */
   public String toStringNoTruncate() {
@@ -833,16 +878,16 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public String toStringNoTime() {
     return rowColumnStringBuilder().toString();
   }
-  
+
   /**
    * Returns the sums of the lengths of the row, column family, column qualifier, and column visibility.
-   * 
+   *
    * @return sum of key field lengths
    */
   public int getLength() {
     return row.length + colFamily.length + colQualifier.length + colVisibility.length;
   }
-  
+
   /**
    * Same as {@link #getLength()}.
    *
@@ -851,19 +896,19 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public int getSize() {
     return getLength();
   }
-  
+
   private static boolean isEqual(byte a1[], byte a2[]) {
     if (a1 == a2)
       return true;
-    
+
     int last = a1.length;
-    
+
     if (last != a2.length)
       return false;
-    
+
     if (last == 0)
       return true;
-    
+
     // since sorted data is usually compared in accumulo,
     // the prefixes will normally be the same... so compare
     // the last two charachters first.. the most likely place
@@ -873,9 +918,9 @@ public class Key implements WritableComparable<Key>, Cloneable {
     // (compiler and cpu optimized for reading data forward)..
     // do not want slower comparisons when data is equal...
     // sorting brings equals data together
-    
+
     last--;
-    
+
     if (a1[last] == a2[last]) {
       for (int i = 0; i < last; i++)
         if (a1[i] != a2[i])
@@ -883,21 +928,22 @@ public class Key implements WritableComparable<Key>, Cloneable {
     } else {
       return false;
     }
-    
+
     return true;
-    
+
   }
-  
+
   /**
    * Compresses a list of key/value pairs before sending them via thrift.
-   * 
-   * @param param list of key/value pairs
+   *
+   * @param param
+   *          list of key/value pairs
    * @return list of Thrift key/value pairs
    */
   public static List<TKeyValue> compress(List<? extends KeyValue> param) {
-    
+
     List<TKeyValue> tkvl = Arrays.asList(new TKeyValue[param.size()]);
-    
+
     if (param.size() > 0)
       tkvl.set(0, new TKeyValue(param.get(0).getKey().toThrift(), ByteBuffer.wrap(param.get(0).getValue().get())));
 
@@ -907,50 +953,50 @@ public class Key implements WritableComparable<Key>, Cloneable {
       Key key = kv.getKey();
 
       TKey newKey = null;
-      
+
       if (isEqual(prevKey.row, key.row)) {
         newKey = key.toThrift();
         newKey.row = null;
       }
-      
+
       if (isEqual(prevKey.colFamily, key.colFamily)) {
         if (newKey == null)
           newKey = key.toThrift();
         newKey.colFamily = null;
       }
-      
+
       if (isEqual(prevKey.colQualifier, key.colQualifier)) {
         if (newKey == null)
           newKey = key.toThrift();
         newKey.colQualifier = null;
       }
-      
+
       if (isEqual(prevKey.colVisibility, key.colVisibility)) {
         if (newKey == null)
           newKey = key.toThrift();
         newKey.colVisibility = null;
       }
-      
+
       if (newKey == null)
         newKey = key.toThrift();
 
       tkvl.set(i, new TKeyValue(newKey, ByteBuffer.wrap(kv.getValue().get())));
     }
-    
+
     return tkvl;
   }
-  
+
   /**
-   * Decompresses a list of key/value pairs received from thrift. Decompression
-   * occurs in place, in the list.
-   * 
-   * @param param list of Thrift key/value pairs
+   * Decompresses a list of key/value pairs received from thrift. Decompression occurs in place, in the list.
+   *
+   * @param param
+   *          list of Thrift key/value pairs
    */
   public static void decompress(List<TKeyValue> param) {
     for (int i = 1; i < param.size(); i++) {
       TKey prevKey = param.get(i - 1).key;
       TKey key = param.get(i).key;
-      
+
       if (key.row == null) {
         key.row = prevKey.row;
       }
@@ -965,7 +1011,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
       }
     }
   }
-  
+
   /**
    * Gets the row ID as a byte array.
    *
@@ -974,7 +1020,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   byte[] getRowBytes() {
     return row;
   }
-  
+
   /**
    * Gets the column family as a byte array.
    *
@@ -983,7 +1029,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   byte[] getColFamily() {
     return colFamily;
   }
-  
+
   /**
    * Gets the column qualifier as a byte array.
    *
@@ -992,7 +1038,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   byte[] getColQualifier() {
     return colQualifier;
   }
-  
+
   /**
    * Gets the column visibility as a byte array.
    *
@@ -1001,7 +1047,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   byte[] getColVisibility() {
     return colVisibility;
   }
-  
+
   /**
    * Converts this key to Thrift.
    *
@@ -1010,7 +1056,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
   public TKey toThrift() {
     return new TKey(ByteBuffer.wrap(row), ByteBuffer.wrap(colFamily), ByteBuffer.wrap(colQualifier), ByteBuffer.wrap(colVisibility), timestamp);
   }
-  
+
   /**
    * Performs a deep copy of this key.
    *

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6bc67602/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java b/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
index 4c9978f..bc1513e 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
@@ -19,7 +19,7 @@ package org.apache.accumulo.core.data;
 /**
  * keeps track of information needed to identify a tablet
  * apparently, we only need the endKey and not the start as well
- * 
+ *
  */
 
 import java.io.ByteArrayOutputStream;
@@ -89,7 +89,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Default constructor
-   * 
+   *
    */
   public KeyExtent() {
     this.setTableId(new Text());
@@ -124,7 +124,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Returns a String representing this extent's entry in the Metadata table
-   * 
+   *
    */
   public Text getMetadataEntry() {
     return getMetadataEntry(getTableId(), getEndRow());
@@ -159,7 +159,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Sets the extents table id
-   * 
+   *
    */
   public void setTableId(Text tId) {
 
@@ -173,7 +173,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Returns the extent's table id
-   * 
+   *
    */
   public Text getTableId() {
     return textTableId;
@@ -195,7 +195,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Sets this extent's end row
-   * 
+   *
    */
   public void setEndRow(Text endRow) {
     setEndRow(endRow, true, true);
@@ -203,7 +203,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Returns this extent's end row
-   * 
+   *
    */
   public Text getEndRow() {
     return textEndRow;
@@ -211,7 +211,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Return the previous extent's end row
-   * 
+   *
    */
   public Text getPrevEndRow() {
     return textPrevEndRow;
@@ -233,7 +233,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Sets the previous extent's end row
-   * 
+   *
    */
   public void setPrevEndRow(Text prevEndRow) {
     setPrevEndRow(prevEndRow, true, true);
@@ -241,7 +241,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Populates the extents data fields from a DataInput object
-   * 
+   *
    */
   @Override
   public void readFields(DataInput in) throws IOException {
@@ -271,7 +271,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Writes this extent's data fields to a DataOutput object
-   * 
+   *
    */
   @Override
   public void write(DataOutput out) throws IOException {
@@ -292,7 +292,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Returns a String representing the previous extent's entry in the Metadata table
-   * 
+   *
    */
   public Mutation getPrevRowUpdateMutation() {
     return getPrevRowUpdateMutation(this);
@@ -300,7 +300,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Empty start or end rows tell the method there are no start or end rows, and to use all the keyextents that are before the end row if no start row etc.
-   * 
+   *
    * @deprecated this method not intended for public use and is likely to be removed in a future version.
    * @return all the key extents that the rows cover
    */
@@ -397,7 +397,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
 
   /**
    * Compares extents based on rows
-   * 
+   *
    */
   @Override
   public int compareTo(KeyExtent other) {
@@ -508,7 +508,7 @@ public class KeyExtent implements WritableComparable<KeyExtent> {
   // note: this is only the encoding of the table id and the last row, not the prev row
   /**
    * Populates the extent's fields based on a flatted extent
-   * 
+   *
    */
   private void decodeMetadataRow(Text flattenedExtent) {
     int semiPos = -1;