(visitorParam, visitorType, constructors) -> visitorDispatchOptionImpl(optionModel, adt, visitorType,
visitorParam))
.functionsDispatch(constructors -> functionsDispatchOptionImpl(optionModel, adt, constructors)))
.otherwise(() -> {
throw new IllegalArgumentException();
<BUG>})

.apply(adt.dataConstruction()))</BUG>
.build();
}

(visitorParam, visitorType, constructors) -> visitorDispatchOptionImpl(optionModel, adt, visitorType,
visitorParam))
.functionsDispatch(constructors -> functionsDispatchOptionImpl(optionModel, adt, constructors)))
.otherwise(() -> {
throw new IllegalArgumentException();
}))
.build();
}
