code: private static int readStringLength(DataInputView source) throws IOException {
  		int len = source.readByte() & 0xFF;
  
  		if (len >= HIGH_BIT) {
  			int shift = 7;
  			int curr;
  			len = len & 0x7F;
  			while ((curr = source.readByte() & 0xFF) >= HIGH_BIT) {
  				len |= (curr & 0x7F) << shift;
  				shift += 7;
  			}
  			len |= curr << shift;
  		}
  
  		return len;
  	}
docs: Read the length of the next serialized {@code StringValue}.
  
  @param source the input view containing the record
  @return the length of the next serialized {@code StringValue}
  @throws IOException if the input view raised an exception when reading the length