/// <summary>
        /// Parses a <see cref="ulong"/> from the specified <see cref="ReadableBuffer"/>
        /// </summary>
        /// <param name="buffer">The <see cref="ReadableBuffer"/> to parse</param>
        public static ulong GetUInt64(this ReadableBuffer buffer)
        {
            ulong value;
            int   consumed;

            if (!buffer.TryParseUInt64(out value, out consumed))
            {
                throw new InvalidOperationException("could not parse uint");
            }
            return(value);
        }