code: @Override
      public synchronized boolean isSolverTerminated(DefaultSolverScope solverScope) {
          // Destroying a thread pool with solver threads will only cause it to interrupt those child solver threads
          if (Thread.currentThread().isInterrupted()) { // Does not clear the interrupted flag
              logger.info("A child solver thread got interrupted, so these child solvers are terminating early.");
              terminateChildren = true;
          }
          return terminateChildren;
      }
docs: ************************************************************************