/**
  * Proposed better defaults.
  * 
  * @return TransactionSettings
  */
 public static function GetBetterDefaults() {
   // Use snapshot if available.
   $isolation = DatabaseTransactionIsolationLevel::Ignore();
   if ($info = Database::getConnection()->schema()->getDatabaseInfo()) {
     if ($info->snapshot_isolation_state == TRUE) {
       $isolation = DatabaseTransactionIsolationLevel::Snapshot();
     }
   }
   // Otherwise use Drupal's default behaviour (except for nesting!)
   return new TransactionSettings(TRUE, 
               DatabaseTransactionScopeOption::Required(), 
               $isolation);
 }