docs: protected void addVisit(CmsDbContext dbc, String poolName, CmsVisitEntry visit) throws CmsDbSqlException {
  
          Connection conn = null;
          PreparedStatement stmt = null;
  
          try {
              if (CmsStringUtil.isNotEmpty(poolName)) {
                  conn = m_sqlManager.getConnection(poolName);
              } else {
                  conn = m_sqlManager.getConnection(dbc);
              }
  
              stmt = m_sqlManager.getPreparedStatement(conn, "C_VISIT_CREATE_3");
  
              stmt.setString(1, visit.getUserId().toString());
              stmt.setLong(2, visit.getDate());
              stmt.setString(3, visit.getStructureId() == null ? null : visit.getStructureId().toString());
              try {
                  stmt.executeUpdate();
              } catch (SQLException e) {
                  // ignore, most likely a duplicate entry
                  LOG.debug(
                      Messages.get().container(Messages.ERR_GENERIC_SQL_1, CmsDbSqlException.getErrorQuery(stmt)).key(),
                      e);
              }
  
          } catch (SQLException e) {
              throw new CmsDbSqlException(
                  Messages.get().container(Messages.ERR_GENERIC_SQL_1, CmsDbSqlException.getErrorQuery(stmt)),
                  e);
          } finally {
              try {
                  m_sqlManager.closeAll(dbc, conn, stmt, null);
              } catch (Throwable t) {
                  // this could happen during shutdown
                  LOG.debug(t.getLocalizedMessage(), t);
              }
          }
      }