private static TaggedObject CreateObject(byte[] data, int offset, int length, out int count)
        {
            try
            {
                EnsureArguments(data, offset, length);
                var taggedObject = new TaggedObject(data, offset, length);
                count = taggedObject.Parse();
                return(taggedObject);
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }

            count = length;
            return(new InvalidTaggedObject(data, offset, length));
        }
        private static TaggedObject CreateObject(byte[] data, int offset, int length, out int count)
        {
            try
            {
                EnsureArguments(data, offset, length);
                var taggedObject = new TaggedObject(data, offset, length);
                count = taggedObject.Parse();
                return taggedObject;
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }

            count = length;
            return new InvalidTaggedObject(data, offset, length);
        }