public function beginTransaction()
{
if (!$this->inTransaction && $this->adapter instanceof CanHandleTransaction) {
$this->adapter->beginTransaction();
}
$this->inTransaction = true;
$event = $this->actionEventEmitter->getNewActionEvent(__FUNCTION__, $this, ['inTransaction' => true]);
$this->getActionEventEmitter()->dispatch($event);
}