OperatorTranslation operator = Operators.getOperator(op.getClass());
if (operator == null) {
return make().Erroneous();
}
if(operator.getOptimisationStrategy(op, this).useJavaOperator()){
<BUG>return make().Unary(operator.javacOperator, transformExpression(term, BoxingStrategy.UNBOXED, expectedType));
}</BUG>
return make().Apply(null, makeSelect(transformExpression(term, BoxingStrategy.BOXED, expectedType),
Util.getGetterName(operator.ceylonMethod)), List.<JCExpression> nil());
}

OperatorTranslation operator = Operators.getOperator(op.getClass());
if (operator == null) {
return make().Erroneous();
}
if(operator.getOptimisationStrategy(op, this).useJavaOperator()){
JCExpression expr = transformExpression(term, BoxingStrategy.UNBOXED, expectedType);
if(operator == OperatorTranslation.UNARY_POSITIVE)
return expr;
return make().Unary(operator.javacOperator, expr);
}
return make().Apply(null, makeSelect(transformExpression(term, BoxingStrategy.BOXED, expectedType),
Util.getGetterName(operator.ceylonMethod)), List.<JCExpression> nil());
}
