private Reference<Trace> checkAndGet() {
        final Reference<Trace> reference = this.threadLocalBinder.get();
        final Trace old = reference.get();
        if (old != null) {
            final PinpointException exception = new PinpointException("already Trace Object exist.");
            if (logger.isWarnEnabled()) {
                logger.warn("beforeTrace:{}", old, exception);
            }
            throw exception;
        }
        return reference;
    }
Return Trace object AFTER validating whether it can be sampled or not.

@return Trace
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/DefaultTraceFactory.java