Add toString debugging aids to SparseFileContent

These methods help inspect the object state from within an IDE debugger,
as its shows the more interesting portion, which is the range of lines
the content object covers.

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gerrit/client/data/SparseFileContent.java b/src/main/java/com/google/gerrit/client/data/SparseFileContent.java
index 2f0974f..d226127 100644
--- a/src/main/java/com/google/gerrit/client/data/SparseFileContent.java
+++ b/src/main/java/com/google/gerrit/client/data/SparseFileContent.java
@@ -108,6 +108,19 @@
     return ranges.get(ranges.size() - 1);
   }
 
+  @Override
+  public String toString() {
+    final StringBuilder b = new StringBuilder();
+    b.append("SparseFileContent[\n");
+    for (Range r : ranges) {
+      b.append("  ");
+      b.append(r.toString());
+      b.append('\n');
+    }
+    b.append("]");
+    return b.toString();
+  }
+
   static class Range {
     protected int base;
     protected List<String> lines;
@@ -131,5 +144,10 @@
     private boolean contains(final int i) {
       return base <= i && i < end();
     }
+
+    @Override
+    public String toString() {
+      return "Range[" + base + "," + end() + ")";
+    }
   }
 }