@Override
public Void visitCastExpression(final CastExpression node, final Void data) {
super.visitCastExpression(node, data);
final ResolveResult targetResult = _resolver.apply(node.getType());
if (targetResult == null || targetResult.getType() == null) {
return null;
}
final Expression value = node.getExpression();
final ResolveResult valueResult = _resolver.apply(value);
if (valueResult == null || valueResult.getType() == null) {
return null;
}
final ConversionType conversionType = MetadataHelper.getConversionType(targetResult.getType(), valueResult.getType());
if (conversionType == ConversionType.NONE) {
final AstBuilder astBuilder = context.getUserData(Keys.AST_BUILDER);
if (astBuilder != null) {