@Nullable
    @Contract(value = "null -> null; !null -> !null", pure = true)
    @SuppressWarnings("unchecked")
    public static <T> T unwrap(@Nullable T obj) {
        if (!isWrapper(obj)) return obj;
        else return ((TtlWrapper<T>) obj).unwrap();
    }
Generic unwrap method, unwrap {@link TtlWrapper} to the original/underneath one.
<p>
this method is {@code null}-safe, when input parameter is {@code null}, return {@code null};
if input parameter is not a {@link TtlWrapper} just return input.

@see TtlRunnable#unwrap(Runnable)
@see TtlCallable#unwrap(java.util.concurrent.Callable)
@see com.alibaba.ttl.threadpool.TtlExecutors#unwrap(java.util.concurrent.Executor)
@see com.alibaba.ttl.threadpool.TtlExecutors#unwrap(java.util.concurrent.ThreadFactory)
@see com.alibaba.ttl.threadpool.TtlExecutors#unwrap(java.util.Comparator)
@see com.alibaba.ttl.threadpool.TtlForkJoinPoolHelper#unwrap(java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory)
@see TtlWrappers#wrapSupplier(java.util.function.Supplier)
@see TtlWrappers#wrapConsumer(java.util.function.Consumer)
@see TtlWrappers#wrapBiConsumer(java.util.function.BiConsumer)
@see TtlWrappers#wrapFunction(java.util.function.Function)
@see TtlWrappers#wrapBiFunction(java.util.function.BiFunction)
@see #isWrapper(Object)
@since 2.11.4
ttl2-compatible/src/main/java/com/alibaba/ttl/TtlUnwrap.java