public Promise<StartChildWorkflowReply> startChildWorkflow(
     final StartChildWorkflowExecutionParameters parameters) {
   Settable<StartChildWorkflowReply> reply = new Settable<StartChildWorkflowReply>();
   Settable<String> result = new Settable<String>();
   startChildWorkflow(parameters, reply, result);
   return reply;
 }
 public Promise<String> startChildWorkflow(String workflow, String version, String input) {
   StartChildWorkflowExecutionParameters parameters = new StartChildWorkflowExecutionParameters();
   WorkflowType workflowType = new WorkflowType().withName(workflow).withVersion(version);
   parameters.setWorkflowType(workflowType);
   parameters.setInput(input);
   Settable<StartChildWorkflowReply> reply = new Settable<StartChildWorkflowReply>();
   Settable<String> result = new Settable<String>();
   startChildWorkflow(parameters, reply, result);
   return result;
 }
 public Promise<String> startChildWorkflow(
     String workflow, String version, Promise<String> input) {
   return genericClient.startChildWorkflow(workflow, version, input);
 }
 public Promise<StartChildWorkflowReply> startChildWorkflow(
     StartChildWorkflowExecutionParameters parameters) {
   return genericClient.startChildWorkflow(parameters);
 }