internal T Get <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject
 {
     lock (Locker)
     {
         Connection = new SqliteConnection("Data Source=" + Path);
         Connection.Open();
         using (var command = Connection.CreateCommand())
         {
             command.CommandText = crud.Read();
             command.Parameters.Add(new SqliteParameter(DbType.Int32)
             {
                 Value = id
             });
             var r = command.ExecuteReader();
             while (r.Read())
             {
                 var thing = crud.FromReader(r);
                 return(thing);
             }
         }
         Connection.Close();
     }
     return(null);
 }