code: public void stop() {
          if (!Utils.isNullOrEmpty(context.getSettings().getExportFile())) {
              if (Utils.isNullOrEmpty(context.getSettings().getExportFilter())) {
                  JAXB.marshal(export, new File(context.getSettings().getExportFile()));
              } else {
                  Symbols exportFiltered = new Symbols();
                  Pattern regexp = Pattern.compile(context.getSettings().getExportFilter());
                  for (String symbol : export.getSymbols()) {
                      if (regexp.matcher(symbol).matches()) {
                          exportFiltered.getSymbols().add(symbol);
                      }
                  }
                  JAXB.marshal(exportFiltered, new File(context.getSettings().getExportFile()));
              }
          }
          if (context.getSettings().isClean()) {
              for (File file : oldFiles) {
                  logInfo("deleting " + file.getName());
                  if (!file.delete()) {
                      logInfo("failed");
                  }
                  ++deleted;
              }
          }
          try {
              final BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(java4cppHash));
              newHashes.store(out, "Generated by java4cpp");
              out.close();
          } catch (IOException e) {
              throw new RuntimeException("Failed to generate java4cpp.hash " + e.getMessage());
          }
          logInfo(String.format("generated: %d, imported: %d, skipped: %d, deleted: %d", generated, imported, skipped, deleted));
      }
docs: Called after all the proxies are generated. Delete all the remaining
  files in the target directory.