SideBySide2: Allow missing diff_header in JSON reply

If the files are identical diff_header may be omitted by the
server. Gracefully handle this in the UI and do not display the
diffHeaderRow.

Change-Id: I2d8ad100ab212dee40548ab4b26a04e6bc76b489
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
index fc12617..5765b22 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.java
@@ -143,20 +143,27 @@
     patchSetSelectBoxB.setUpPatchSetNav(list, info.meta_b());
 
     JsArrayString hdr = info.diff_header();
-    StringBuilder b = new StringBuilder();
-    for (int i = 1; i < hdr.length(); i++) {
-      String s = hdr.get(i);
-      if (s.startsWith("diff --git ")
-          || s.startsWith("index ")
-          || s.startsWith("+++ ")
-          || s.startsWith("--- ")) {
-        continue;
+    if (hdr != null) {
+      StringBuilder b = new StringBuilder();
+      for (int i = 1; i < hdr.length(); i++) {
+        String s = hdr.get(i);
+        if (s.startsWith("diff --git ")
+            || s.startsWith("index ")
+            || s.startsWith("+++ ")
+            || s.startsWith("--- ")) {
+          continue;
+        }
+        b.append(s).append('\n');
       }
-      b.append(s).append('\n');
+
+      String hdrTxt = b.toString().trim();
+      header = !hdrTxt.isEmpty();
+      diffHeaderText.setInnerText(hdrTxt);
+      UIObject.setVisible(diffHeaderRow, header);
+    } else {
+      header = false;
+      UIObject.setVisible(diffHeaderRow, false);
     }
-    header = b.length() > 0;
-    diffHeaderText.setInnerText(b.toString().trim());
-    UIObject.setVisible(diffHeaderRow, header);
   }
 
   void refresh() {