class App {

  /**
   * Program entry point.
   *
   * @param args command line args
   */
  public static void main(String[] args) {<FILL_FUNCTION_BODY>}
}

    final var inventory = new Inventory(1000);
    var executorService = Executors.newFixedThreadPool(3);
    IntStream.range(0, 3).<Runnable>mapToObj(i -> () -> {
      while (inventory.addItem(new Item())) {
        LOGGER.info("Adding another item");
      }
    }).forEach(executorService::execute);

    executorService.shutdown();
    try {
      executorService.awaitTermination(5, TimeUnit.SECONDS);
    } catch (InterruptedException e) {
      LOGGER.error("Error waiting for ExecutorService shutdown");
      Thread.currentThread().interrupt();
    }
  
<no_super_class>