Selection(Source<Ex2> master, Source<Ex1> model) {
OperatorDescription.Builder builder1 = new OperatorDescription.Builder(MasterJoinUpdate.class);
builder1.declare(MasterJoinUpdateFlow.class, MasterJoinUpdateFlowImpl.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("updated", Ex1.class);
builder1.addOutput("missed", Ex1.class);
builder1.addAttribute(new OperatorHelper("selector", Arrays.asList(new Class<?>[]{List.class, Ex1.class})));
builder1.addAttribute(FlowBoundary.SHUFFLE);