protected function getTransactionIsolationSQLDeclaration($isolation)
    {
        if (!$this->supportTransactionIsolations()) {
            throw PlatformException::methodNotSupported(__METHOD__);
        }

        $availableIsolations = array(
            Connection::TRANSACTION_READ_COMMITTED,
            Connection::TRANSACTION_READ_UNCOMMITTED,
            Connection::TRANSACTION_REPEATABLE_READ,
            Connection::TRANSACTION_SERIALIZABLE,
        );

        if (!in_array($isolation, $availableIsolations)) {
            throw PlatformException::transactionIsolationDoesNotExist($isolation);
        }

        return $isolation;
    }