// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.common.thread;

import com.hypixel.hytale.metrics.InitStackThread;
import java.util.concurrent.ForkJoinWorkerThread;
import javax.annotation.Nonnull;
import java.util.concurrent.ForkJoinPool;

public class HytaleForkJoinThreadFactory implements ForkJoinPool.ForkJoinWorkerThreadFactory
{
    @Nonnull
    @Override
    public ForkJoinWorkerThread newThread(@Nonnull final ForkJoinPool pool) {
        return new WorkerThread(pool);
    }
    
    public static class WorkerThread extends ForkJoinWorkerThread implements InitStackThread
    {
        @Nonnull
        private final StackTraceElement[] initStack;
        
        protected WorkerThread(@Nonnull final ForkJoinPool pool) {
            super(pool);
            this.initStack = Thread.currentThread().getStackTrace();
        }
        
        @Nonnull
        @Override
        public StackTraceElement[] getInitStack() {
            return this.initStack;
        }
    }
}
