docs: public void addHistory(History history) {
          if (disableHistoryWrite) {
              return;
          }
          PreparedStatement statement = null;
  
          try (Connection sqlConnection = sqlService.getConnection()) {
              statement = sqlConnection.prepareStatement("INSERT INTO " + Constants.DB_TABLE_HISTORY +
                                                             "(" + Constants.GENERIC_PROFILE_ID + "," + Constants.GENERIC_CLIENT_UUID + "," +
                                                             Constants.HISTORY_CREATED_AT + "," + Constants.GENERIC_REQUEST_TYPE + "," +
                                                             Constants.HISTORY_REQUEST_URL + "," + Constants.HISTORY_REQUEST_PARAMS + "," +
                                                             Constants.HISTORY_REQUEST_POST_DATA + "," + Constants.HISTORY_REQUEST_HEADERS + "," +
                                                             Constants.HISTORY_RESPONSE_CODE + "," + Constants.HISTORY_RESPONSE_HEADERS + "," +
                                                             Constants.HISTORY_RESPONSE_CONTENT_TYPE + "," + Constants.HISTORY_RESPONSE_DATA + "," +
                                                             Constants.HISTORY_ORIGINAL_REQUEST_URL + "," + Constants.HISTORY_ORIGINAL_REQUEST_PARAMS + "," +
                                                             Constants.HISTORY_ORIGINAL_REQUEST_POST_DATA + "," + Constants.HISTORY_ORIGINAL_REQUEST_HEADERS + "," +
                                                             Constants.HISTORY_ORIGINAL_RESPONSE_CODE + "," + Constants.HISTORY_ORIGINAL_RESPONSE_HEADERS + "," +
                                                             Constants.HISTORY_ORIGINAL_RESPONSE_CONTENT_TYPE + "," + Constants.HISTORY_ORIGINAL_RESPONSE_DATA + "," +
                                                             Constants.HISTORY_MODIFIED + "," + Constants.HISTORY_REQUEST_SENT + "," +
                                                             Constants.HISTORY_REQUEST_BODY_DECODED + "," + Constants.HISTORY_RESPONSE_BODY_DECODED + "," +
                                                             Constants.HISTORY_EXTRA_INFO + "," + Constants.HISTORY_RAW_POST_DATA + ")" +
                                                             " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
              statement.setInt(1, history.getProfileId());
              statement.setString(2, history.getClientUUID());
              statement.setString(3, history.getCreatedAt());
              statement.setString(4, history.getRequestType());
              statement.setString(5, history.getRequestURL());
              statement.setString(6, history.getRequestParams());
              statement.setString(7, history.getRequestPostData());
              statement.setString(8, history.getRequestHeaders());
              statement.setString(9, history.getResponseCode());
              statement.setString(10, history.getResponseHeaders());
              statement.setString(11, history.getResponseContentType());
              statement.setString(12, history.getResponseData());
              statement.setString(13, history.getOriginalRequestURL());
              statement.setString(14, history.getOriginalRequestParams());
              statement.setString(15, history.getOriginalRequestPostData());
              statement.setString(16, history.getOriginalRequestHeaders());
              statement.setString(17, history.getOriginalResponseCode());
              statement.setString(18, history.getOriginalResponseHeaders());
              statement.setString(19, history.getOriginalResponseContentType());
              statement.setString(20, history.getOriginalResponseData());
              statement.setBoolean(21, history.isModified());
              statement.setBoolean(22, history.getRequestSent());
              statement.setBoolean(23, history.getRequestBodyDecoded());
              statement.setBoolean(24, history.getResponseBodyDecoded());
              statement.setString(25, history.getExtraInfoString());
              statement.setBytes(26, history.getRawPostData());
              statement.executeUpdate();
  
              // cull history
              cullHistory(history.getProfileId(), history.getClientUUID(), maxHistorySize);
          } catch (Exception e) {
              logger.info(e.getMessage());
          } finally {
              try {
                  if (statement != null) {
                      statement.close();
                  }
              } catch (Exception e) {
              }
          }
      }