code: private void generateSources() {
          try {
              ExecutorService pool = Executors.newFixedThreadPool(context.getSettings().getNbThread());
  
              for (Java4CppType type : context.getClassesAlreadyDone()) {
                  Class<?> clazz = type.getRawClass();
                  if (isValid(clazz)) {
                      pool.execute(new SourceExecutor(context, type));
                  }
              }
  
              pool.shutdown();
              while (!pool.isTerminated()) {
                  pool.awaitTermination(TIMEOUT, TimeUnit.MILLISECONDS);
              }
          } catch (InterruptedException e) {
              throw new RuntimeException("Interrupted " + e.getMessage());
          }
      }
docs: Generate proxies source code files