@Override
public ExecutorService create() {
LoggerFactory.getLogger(getClass()).info(
"Creating a throttling executor with a pool size of {} and max rate of {} events / s",
new String[] { String.valueOf(threadPoolSize), String.valueOf(maxRate), });
return new ThrottlingThreadPoolExecutorService(threadPoolSize, maxRate,
(this instanceof RemoteSendersExecutorServiceFactory) ? "remote-sender-%d" : "sender-%d",
workQueueSize, getClass().getClassLoader());
}