docs: public void complete() {
          if (this.configuration.isGeoTags()) {
              this.geoTagger.processBoundaries();
          }
          NumberFormat nfMegabyte = NumberFormat.getInstance();
          nfMegabyte.setMaximumFractionDigits(2);
  
          try {
              commit();
              if (this.configuration.isFilterCategories()) {
                  filterCategories();
              }
              writeMetadata();
              this.conn.close();
  
              postProcess();
          } catch (SQLException e) {
              e.printStackTrace();
          }
  
          LOGGER.info("Added " + nfCounts.format(this.poiAdded) + " POIs.");
          this.progressManager.setMessage("Done.");
  
          LOGGER.info("Estimated memory consumption: "
                  + nfMegabyte.format(+((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / Math
                  .pow(1024, 2))) + "MB");
      }