/// <summary>
        ///     Get the value from the dehydrated data which is always in the last byte
        /// </summary>
        /// <param name="data"></param>
        /// <param name="offset"></param>
        /// <param name="length"></param>
        /// <returns></returns>
        private static byte GetVersion(IByteArray data, int offset, int length)
        {
            if ((data == null) || data.IsEmpty)
            {
                return(CURRENT_DEFAULT_VERSION);
            }

            var slice = data.Span.Slice(offset, length);

            //always the last byte
            byte entry = slice[slice.Length - 1];

            BitSequence sequence = new BitSequence(entry, DataDehydrator.entries);

            return((byte)sequence.GetEntryValue(0));
        }