/** * Create an renderer using the specified executor instead of the default one which should be used for production. * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry. * * @param executor the executor to use or null to use the default executor suitable for production */ public AsynchronousSectionedRenderer(Executor executor) { isInitialized = false; if (executor == null) { renderingExecutor = createExecutor(); renderingExecutorIsOwned = true; } else { renderingExecutor = executor; renderingExecutorIsOwned = false; } }