Properties props = new Properties(); // defensive copy
if (p != null && !p.isEmpty()) props.putAll(p);
setThreadSuffix(nodeName, props);
setComponentName(componentName, props);
setDefaultThreadPrio(KnownComponentNames.getDefaultThreadPrio(componentName), props);
return new LazyInitializingScheduledExecutorService(f, props);
}