we had a midair collision on comments on this section.  I've realized that this ```run``` method is already being run by a transaction manager.  That means that normal exit of this routine will result in an automatically executed ```commit```.  Exiting the method with an exception will result in an automatic rollback.  

You may remove both the ```commit``` and the ```rollback```