@Override
 protected void starting(Description description) {
   try {
     if (delegate == null || delegate.isClosed()) delegate = getNewConnection();
     if (!autoCommit) delegate.setAutoCommit(false);
   } catch (Exception e) {
     throw new RuntimeException(e);
   }
 }
 @Override
 public void setAutoCommit(boolean autoCommit) throws SQLException {
   delegate.setAutoCommit(autoCommit);
 }