private static Object invokePrivate(Object object, String methodName, Class[] argTypes,
      Object[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException,
      IllegalAccessException, InvocationTargetException {

    Method method = null;
    Class clazz = object.getClass();
    while (method == null) {
      try {
        method = clazz.getDeclaredMethod(methodName, argTypes);
      } catch (NoSuchMethodException e) {
        clazz = clazz.getSuperclass();
        if (clazz == null) {
          throw e;
        }
      }
    }
    method.setAccessible(true);
    Object result = method.invoke(object, args);
    return result;
  }
Dangerous method. Uses reflection to extract the thread local for a given thread.

Unlike get(), this method does not set the initial value if none is found
geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/UnsafeThreadLocal.java