Style recommendation: you need either a public constructor on a class implementing `ExecutorService`, or a factory method calling a private constructor (preferably returning `ExecutorService` and using a private nested class for the actual implementation); having both is redundant. Generally prefer the latter as it exposes a narrower API that is easier to keep compatible; the former encourages subclassing, which can be useful in certain cases, but you need to explicit think about what it will mean and what should or should not be allowed.