protected virtual void Dispose(bool disposing)
 {
     if (disposing)
         KeyBuilder?.Dispose();
 }