decisions.signalExternalWorkflowExecution(attributes);
context.setCompletionHandle(handle);
final String finalSignalId = attributes.getControl();
scheduledSignals.put(finalSignalId, context);
return new ExternalTaskCancellationHandler() {
@Override
public void handleCancellation(Throwable cause) {
decisions.cancelSignalExternalWorkflowExecution(finalSignalId, null);
OpenRequestInfo<Void, Void> scheduled = scheduledSignals.remove(finalSignalId);