docs: private void processEntity(Entity entity, double latitude, double longitude) {
          // Only add entities that fall within the bounding box (if set)
          BoundingBox bb = this.configuration.getBboxConfiguration();
          if (bb != null && !bb.contains(latitude, longitude)) {
              return;
          }
  
          // Only add entities that have data
          if (entity.getTags().isEmpty()) {
              return;
          }
  
          // Only add named entities (if set)
          if (this.configuration.isNames()) {
              String name = getTagValue(entity.getTags(), "name");
              if (name == null || name.isEmpty()) {
                  return;
              }
          }
  
          // Process entity
          Map<String, String> tagMap = new TreeMap<>();
          Set<PoiCategory> categories = new HashSet<>();
          for (Tag tag : entity.getTags()) {
              String key = tag.getKey().toLowerCase(Locale.ENGLISH);
              if (this.tagMappingResolver.getMappingTags().contains(key)) {
                  // Check if there is a POI category for this tag and add POI to DB
                  String tagStr = key + "=" + tag.getValue();
                  try {
                      // Get categories from tag
                      List<PoiCategory> pcs = this.tagMappingResolver.getCategoriesFromTag(tagStr);
  
                      // Get categories from key, if tag wasn't matched
                      // Note: key categories should be parents of their value categories
                      if (pcs == null) {
                          pcs = this.tagMappingResolver.getCategoriesFromTag(key);
                      }
  
                      if (pcs != null) {
                          for (PoiCategory pc : pcs) {
                              // Add entity if its category matches
                              if (this.categoryFilter.isAcceptedCategory(pc)) {
                                  // Collect the POI tags in a sorted manner (once)
                                  if (tagMap.isEmpty()) {
                                      for (Tag t : entity.getTags()) {
                                          tagMap.put(t.getKey().toLowerCase(Locale.ENGLISH), t.getValue());
                                      }
                                  }
                                  categories.add(pc);
                              }
                          }
                      }
                  } catch (UnknownPoiCategoryException e) {
                      LOGGER.warning("The '" + tagStr + "' tag refers to a POI that does not exist: " + e.getMessage());
                  }
              }
          }
  
          // Store POI
          if (!tagMap.isEmpty()) {
              writePOI(this.poiAdded++, latitude, longitude, tagMap, categories);
          }
      }