src/main/java/com/amazonaws/services/simpleworkflow/flow/DynamicActivitiesClientImpl.java [150:175]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    try {
                        String details = taskFailedException.getDetails();
                        if (details != null) {
                            final Throwable cause = ThreadLocalMetrics.getMetrics().recordSupplier(
                                () -> dataConverter.fromData(details, Throwable.class),
                                dataConverter.getClass().getSimpleName() + "@" + MetricName.Operation.DATA_CONVERTER_DESERIALIZE.getName(),
                                TimeUnit.MILLISECONDS
                            );
                            if (cause != null && taskFailedException.getCause() == null) {
                                taskFailedException.initCause(cause);
                            }
                        }
                    }
                    catch (DataConverterException dataConverterException) {
                        if (dataConverterException.getCause() == null) {
                            dataConverterException.initCause(taskFailedException);
                        }
                        throw dataConverterException;
                    }
                }

                throw e;
            }

            @Override
            protected void doFinally() throws Throwable {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/main/java/com/amazonaws/services/simpleworkflow/flow/DynamicWorkflowClientImpl.java [235:260]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    try {
                        String details = taskFailedException.getDetails();
                        if (details != null) {
                            final Throwable cause = ThreadLocalMetrics.getMetrics().recordSupplier(
                                () -> dataConverter.fromData(details, Throwable.class),
                                dataConverter.getClass().getSimpleName() + "@" + MetricName.Operation.DATA_CONVERTER_DESERIALIZE.getName(),
                                TimeUnit.MILLISECONDS
                            );
                            if (cause != null && taskFailedException.getCause() == null) {
                                taskFailedException.initCause(cause);
                            }
                        }
                    }
                    catch (DataConverterException dataConverterException) {
                        if (dataConverterException.getCause() == null) {
                            dataConverterException.initCause(taskFailedException);
                        }
                        throw dataConverterException;
                    }
                }

                throw e;
            }

            @Override
            protected void doFinally() throws Throwable {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



