code: @Override
      public ThreadContext getInflowContext(Object workContext, Map<String, String> execProps) {
          // Construct TransactionInflowContext reflectively because it requires packages that are only be available when JCA is used
          try {
              return (ThreadContext) getClass().getClassLoader() //
                              .loadClass("com.ibm.ws.transaction.context.internal.TransactionInflowContext") //
                              .getConstructor(Object.class, Object.class, String.class) //
                              .newInstance(transactionInflowManagerRef.getServiceWithException(), workContext, execProps.get(WSContextService.TASK_OWNER));
          } catch (Throwable x) {
              if (x instanceof InvocationTargetException)
                  x = x.getCause();
              if (x instanceof RuntimeException)
                  throw (RuntimeException) x;
              if (x instanceof Error)
                  throw (Error) x;
              else
                  throw new RuntimeException(x);
          }
      }
docs: {@inheritDoc}