docs: public static ModelNode getDetypedThreadInfo(final ThreadInfo threadInfo, boolean includeBlockedTime) {
          final ModelNode result = new ModelNode();
  
          result.get(PlatformMBeanConstants.THREAD_ID).set(threadInfo.getThreadId());
          result.get(PlatformMBeanConstants.THREAD_NAME).set(threadInfo.getThreadName());
          result.get(PlatformMBeanConstants.THREAD_STATE).set(threadInfo.getThreadState().name());
          if (includeBlockedTime) {
              result.get(PlatformMBeanConstants.BLOCKED_TIME).set(threadInfo.getBlockedTime());
          } else {
              result.get(PlatformMBeanConstants.BLOCKED_TIME);
          }
          result.get(PlatformMBeanConstants.BLOCKED_COUNT).set(threadInfo.getBlockedCount());
          result.get(PlatformMBeanConstants.WAITED_TIME).set(threadInfo.getWaitedTime());
          result.get(PlatformMBeanConstants.WAITED_COUNT).set(threadInfo.getWaitedCount());
          result.get(PlatformMBeanConstants.LOCK_INFO).set(getDetypedLockInfo(threadInfo.getLockInfo()));
          nullSafeSet(result.get(PlatformMBeanConstants.LOCK_NAME), threadInfo.getLockName());
          result.get(PlatformMBeanConstants.LOCK_OWNER_ID).set(threadInfo.getLockOwnerId());
          nullSafeSet(result.get(PlatformMBeanConstants.LOCK_OWNER_NAME), threadInfo.getLockOwnerName());
          final ModelNode stack = result.get(PlatformMBeanConstants.STACK_TRACE);
          stack.setEmptyList();
          for (StackTraceElement ste : threadInfo.getStackTrace()) {
              stack.add(getDetypedStackTraceElement(ste));
          }
          result.get(PlatformMBeanConstants.SUSPENDED).set(threadInfo.isSuspended());
          result.get(PlatformMBeanConstants.IN_NATIVE).set(threadInfo.isInNative());
          final ModelNode monitors = result.get(PlatformMBeanConstants.LOCKED_MONITORS);
          monitors.setEmptyList();
          for (MonitorInfo monitor : threadInfo.getLockedMonitors()) {
              monitors.add(getDetypedMonitorInfo(monitor));
          }
          final ModelNode synchronizers = result.get(PlatformMBeanConstants.LOCKED_SYNCHRONIZERS);
          synchronizers.setEmptyList();
          for (LockInfo lock : threadInfo.getLockedSynchronizers()) {
              synchronizers.add(getDetypedLockInfo(lock));
          }
  
          return result;
      }