public static void Read(this Beatmap beatmap, SQLiteDataReader reader)
        {
            int i = 1;

            beatmap.TitleRoman        = reader.GetString(i); i++;
            beatmap.ArtistRoman       = reader.GetString(i); i++;
            beatmap.TitleUnicode      = reader.GetString(i); i++;
            beatmap.ArtistUnicode     = reader.GetString(i); i++;
            beatmap.Creator           = reader.GetString(i); i++;
            beatmap.DiffName          = reader.GetString(i); i++;
            beatmap.Mp3Name           = reader.GetString(i); i++;
            beatmap.Md5               = reader.GetString(i); i++;
            beatmap.OsuFileName       = reader.GetString(i); i++;
            beatmap.MaxBpm            = reader.GetDouble(i); i++;
            beatmap.MinBpm            = reader.GetDouble(i); i++;
            beatmap.Tags              = reader.GetString(i); i++;
            beatmap.State             = reader.GetByte(i); i++;
            beatmap.Circles           = (short)reader.GetInt32(i); i++;
            beatmap.Sliders           = (short)reader.GetInt32(i); i++;
            beatmap.Spinners          = (short)reader.GetInt32(i); i++;
            beatmap.EditDate          = reader.GetDateTime(i); i++;
            beatmap.ApproachRate      = (float)reader.GetDouble(i); i++;
            beatmap.CircleSize        = (float)reader.GetDouble(i); i++;
            beatmap.HpDrainRate       = (float)reader.GetDouble(i); i++;
            beatmap.OverallDifficulty = (float)reader.GetDouble(i); i++;
            beatmap.SliderVelocity    = reader.GetDouble(i); i++;
            beatmap.DrainingTime      = reader.GetInt32(i); i++;
            beatmap.TotalTime         = reader.GetInt32(i); i++;
            beatmap.PreviewTime       = reader.GetInt32(i); i++;
            beatmap.MapId             = reader.GetInt32(i); i++;
            beatmap.MapSetId          = reader.GetInt32(i); i++;
            beatmap.ThreadId          = reader.GetInt32(i); i++;
            beatmap.MapRating         = reader.GetInt32(i); i++;
            beatmap.Offset            = (short)reader.GetInt32(i); i++;
            beatmap.StackLeniency     = (float)reader.GetDouble(i); i++;
            beatmap.PlayMode          = (PlayMode)reader.GetByte(i); i++;
            beatmap.Source            = reader.GetString(i); i++;
            beatmap.AudioOffset       = (short)reader.GetInt32(i); i++;
            beatmap.LetterBox         = reader.GetString(i); i++;
            beatmap.Played            = reader.GetBoolean(i); i++;
            beatmap.LastPlayed        = reader.GetDateTime(i); i++;
            beatmap.IsOsz2            = reader.GetBoolean(i); i++;
            beatmap.Dir               = reader.GetString(i); i++;
            beatmap.LastSync          = reader.GetDateTime(i); i++;
            beatmap.DisableHitsounds  = reader.GetBoolean(i); i++;
            beatmap.DisableSkin       = reader.GetBoolean(i); i++;
            beatmap.DisableSb         = reader.GetBoolean(i); i++;
            beatmap.BgDim             = reader.GetInt16(i); i++;
            beatmap.Somestuff         = reader.GetInt16(i); i++;
            beatmap.VideoDir          = reader.GetString(i); i++;
            beatmap.DeSerializeStars((byte[])reader.GetValue(i));
        }