@@ -0,0 +1,846 @@
+package app.lsgui.utils;%0D%0A%0D%0Aimport java.util.concurrent.ExecutorService;%0D%0Aimport java.util.concurrent.Executors;%0D%0Aimport java.util.concurrent.TimeUnit;%0D%0A%0D%0Aimport org.slf4j.Logger;%0D%0Aimport org.slf4j.LoggerFactory;%0D%0A%0D%0Apublic class ExecutorServiceSingleton %7B%0D%0A%0D%0A    private static final Logger LOGGER = LoggerFactory.getLogger(ExecutorServiceSingleton.class);%0D%0A    private static final ExecutorService EXECUTORSERVICE = Executors.newCachedThreadPool();%0D%0A%0D%0A    public static void shutdown() %7B%0D%0A        try %7B%0D%0A            EXECUTORSERVICE.shutdown();%0D%0A            EXECUTORSERVICE.awaitTermination(3L, TimeUnit.SECONDS);%0D%0A        %7D catch (InterruptedException e) %7B%0D%0A            LOGGER.error(%22Error when shutting down ExecutorService%22, e);%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A    public static ExecutorService instance() %7B%0D%0A        return EXECUTORSERVICE;%0D%0A    %7D%0D%0A%0D%0A%7D%0D%0A

add executorservice singleton