in javac-ast-extension/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java [227:242]
public Tree visitTypeCast(TypeCastTree node, JavacReferenceCollectorListener.ReferenceCollector collector) {
super.visitTypeCast(node, collector);
Element castType = collector.getReferencedElement(node.getType());
if (castType == null) return null;
JavacRef.JavacElementRefBase castTypeElement = collector.asJavacRef(null, castType);
if (!(castTypeElement instanceof JavacRef.JavacClass)) return null;
TypeMirror operandType = collector.getType(node.getExpression());
if (operandType == null) return null;
JavacRef.JavacElementRefBase operandTypeElement = collector.asJavacRef(getCurrentEnclosingTypeElement(), operandType);
if (!(operandTypeElement instanceof JavacRef.JavacClass)) return null;
collector.sinkTypeCast(new JavacTypeCast((JavacRef.JavacClass) operandTypeElement, (JavacRef.JavacClass) castTypeElement));
return null;
}