docs: public List<WbSearchEntitiesResult> wbSearchEntities(String search, String language,
                                                           Boolean strictLanguage, String type, Long limit, Long offset)
              throws MediaWikiApiErrorException {
  
          Map<String, String> parameters = new HashMap<String, String>();
          parameters.put(ApiConnection.PARAM_ACTION, "wbsearchentities");
  
          if (search != null) {
              parameters.put("search", search);
          } else {
              throw new IllegalArgumentException(
                      "Search parameter must be specified for this action.");
          }
  
          if (language != null) {
              parameters.put("language", language);
          } else {
              throw new IllegalArgumentException(
                      "Language parameter must be specified for this action.");
          }
          if (strictLanguage != null) {
              parameters.put("strictlanguage", Boolean.toString(strictLanguage));
          }
  
          if (type != null) {
              parameters.put("type", type);
          }
  
          if (limit != null) {
              parameters.put("limit", Long.toString(limit));
          }
  
          if (offset != null) {
              parameters.put("continue", Long.toString(offset));
          }
  
          List<WbSearchEntitiesResult> results = new ArrayList<>();
  
          try {
              JsonNode root = this.connection.sendJsonRequest("POST", parameters);
              JsonNode entities = root.path("search");
              for (JsonNode entityNode : entities) {
                  try {
                      JacksonWbSearchEntitiesResult ed = mapper.treeToValue(entityNode,
                              JacksonWbSearchEntitiesResult.class);
                      results.add(ed);
                  } catch (JsonProcessingException e) {
                      LOGGER.error("Error when reading JSON for entity "
                              + entityNode.path("id").asText("UNKNOWN") + ": "
                              + e.toString());
                  }
              }
          } catch (IOException e) {
              LOGGER.error("Could not retrive data: " + e.toString());
          }
  
          return results;
      }