}
}
}
void handleChildWorkflowExecutionFailed(HistoryEvent event) {
ChildWorkflowExecutionFailedEventAttributes attributes = event.getChildWorkflowExecutionFailedEventAttributes();
WorkflowExecution execution = attributes.getWorkflowExecution();
String workflowId = execution.getWorkflowId();
if (decisions.handleChildWorkflowExecutionClosed(workflowId)) {
OpenRequestInfo<StartChildWorkflowReply, WorkflowType> scheduled = scheduledExternalWorkflows.remove(workflowId);
if (scheduled != null) {
String reason = attributes.getReason();
String details = attributes.getDetails();
Exception failure = new ChildWorkflowFailedException(event.getEventId(), execution, attributes.getWorkflowType(),
reason, details);
ExternalTaskCompletionHandle context = scheduled.getCompletionHandle();
context.fail(failure);
}
}