if (workflowId == null) {
throw new IllegalArgumentException("null workflowId");
}
final ChildWorkflowTryCatchFinally childTryCatch = workflowExecutions.get(workflowId);
if (childTryCatch == null) {
throw new UnknownResourceException("Unknown excution: " + execution.toString());
}
String openExecutionRunId = childTryCatch.getWorkflowExecution().getRunId();
if (execution.getRunId() != null && !openExecutionRunId.equals(execution.getRunId())) {
throw new UnknownResourceException("Unknown Execution (runId doesn't match)");
}
childTryCatch.cancel(new CancellationException());
}