Selection(Source<Ex2> master, Source<Ex1> model) {
OperatorDescription.Builder builder1 = new OperatorDescription.Builder(MasterBranch.class);
builder1.declare(MasterBranchFlow.class, MasterBranchFlowImpl.class, "selection");
builder1.declareParameter(Ex2.class);
builder1.declareParameter(Ex1.class);
builder1.addInput("master", Ex2.class, new ShuffleKey(Arrays.asList(new String[]{"string"}), Arrays.asList(
new ShuffleKey.Order[]{})));
builder1.addInput("model", Ex1.class, new ShuffleKey(Arrays.asList(new String[]{"string"}), Arrays.asList(
new ShuffleKey.Order[]{})));
builder1.addOutput("high", Ex1.class);
builder1.addOutput("low", Ex1.class);
builder1.addOutput("stop", Ex1.class);
builder1.addAttribute(new OperatorHelper("selector", Arrays.asList(new Class<?>[]{List.class, Ex1.class})));