private EventResult Events(Guid id, int fromVersion)
        {
            var table  = _databaseGateway.GetDataTableFor(_queryFactory.Get(id, fromVersion));
            var result = new EventResult(fromVersion);

            foreach (DataRow row in table.Rows)
            {
                fromVersion = EventStoreColumns.Version.MapFrom(row);
                var assemblyQualifiedName = EventStoreColumns.AssemblyQualifiedName.MapFrom(row);

                using (var stream = new MemoryStream(EventStoreColumns.Data.MapFrom(row)))
                {
                    result.Add(new Event(fromVersion, assemblyQualifiedName,
                                         _serializer.Deserialize(Type.GetType(assemblyQualifiedName), stream)));
                }
            }

            return(result);
        }