public JCStatement transformSwitch(SwitchStatement stmt) {
JCExpression selectorExpr = expressionGen().transformExpression(stmt.getSwitchClause().getExpression(), BoxingStrategy.BOXED, getSwitchExpressionType(stmt));
Naming.SyntheticName selectorAlias = naming.alias("sel");
JCVariableDecl selector = makeVar(selectorAlias, makeJavaType(getSwitchExpressionType(stmt)), selectorExpr);
// Make a switch out of the non-null cases
JCStatement switch_ = new Switch().transformSwitch(stmt,
expressionGen().applyErasureAndBoxing(selectorAlias.makeIdent(),
getDefiniteSwitchExpressionType(stmt),
true,
BoxingStrategy.UNBOXED,
getDefiniteSwitchExpressionType(stmt)));