code: private String compXmlStringAt(byte[] arr, int strOff) {
          int strLen = arr[strOff + 1] << 8 & 0xff00 | arr[strOff] & 0xff;
          byte[] chars = new byte[strLen];
          for (int ii = 0; ii < strLen; ii++) {
              chars[ii] = arr[strOff + 2 + ii * 2];
          }
          return new String(chars);  // Hack, just use 8 byte chars
      }
docs: <p>Get a {@link String} of the value stored in StringTable format at offset strOff. This
  offset points to the 16 bit string length, which is followed by that number of 16 bit
  (Unicode) chars.</p>
  
  @param arr    The {@link Byte} array to be processed.
  @param strOff An {@link Integer} denoting the offset within the array to fetch result from.
  @return A {@link String} value at the offset specified in parameter <i>strOff</i>.