code: @Nullable
      public static <T> TtlCallable<T> get(@Nullable Callable<T> callable, boolean releaseTtlValueReferenceAfterCall, boolean idempotent) {
          if (null == callable) return null;
  
          if (callable instanceof TtlEnhanced) {
              // avoid redundant decoration, and ensure idempotency
              if (idempotent) return (TtlCallable<T>) callable;
              else throw new IllegalStateException("Already TtlCallable!");
          }
          return new TtlCallable<T>(callable, releaseTtlValueReferenceAfterCall);
      }
docs: Factory method, wrap input {@link Callable} to {@link TtlCallable}.
  <p>
  This method is idempotent.
  
  @param callable                          input {@link Callable}
  @param releaseTtlValueReferenceAfterCall release TTL value reference after run, avoid memory leak even if {@link TtlRunnable} is referred.
  @param idempotent                        is idempotent or not. {@code true} will cover up bugs! <b>DO NOT</b> set, only when you know why.
  @return Wrapped {@link Callable}