code: public static String[] readCompressedStringArray(DataInput in) throws IOException {
          int len = in.readInt();
          if (len == -1)
              return null;
          String[] s = new String[len];
          for (int i = 0; i < len; i++) {
              s[i] = readCompressedString(in);
          }
          return s;
      }
docs: /*
  Write a String array as a Nework Int N, followed by Int N Byte Array Strings.
  Could be generalised using introspection. Handles null arrays and null values.