Не могу понять, почему у меня Thread создается без имени группы. То есть group я передаю в конструктор. Если отдельно вывести имя группы в консоль - то там оно есть, то есть само имя группы передается, но когда запускаю задачу - в консоль выводится только так: -pool-1-thread-1 -pool-1-thread-2 -pool-1-thread-1 -pool-1-thread-3 -pool-1-thread-3 -pool-1-thread-2 Если group добавлю как текст в namePrefix, в консоль будет выводить как надо. Отсюда у меня вывод: что первый параметр group когда я создаю новый Thread (строка 18) не используется при его создании.
public static class AmigoThreadFactory implements ThreadFactory {
    private static final AtomicInteger poolNumber = new AtomicInteger(1);
    private final ThreadGroup group;
    private final AtomicInteger threadNumber = new AtomicInteger(1);
    private final String namePrefix;

    public AmigoThreadFactory() {
        SecurityManager s = System.getSecurityManager();
        group = (s != null) ? s.getThreadGroup() :
                Thread.currentThread().getThreadGroup();
        namePrefix = "-pool-" +
                poolNumber +
                "-thread-";
    }

    @Override
    public Thread newThread(Runnable r) {
        Thread t = new Thread(group, r,
                namePrefix + threadNumber.getAndIncrement(),
                0);
        if (t.isDaemon())
            t.setDaemon(false);
        if (t.getPriority() != Thread.NORM_PRIORITY)
            t.setPriority(Thread.NORM_PRIORITY);
        return t;
    }
}