public static Class getJavaClass( final EvaluatedType type ) {
if (type instanceof EvaluatedClassDeclaration) {
return ((EvaluatedClassDeclaration)type).cls() ;
} else if (type instanceof EvaluatedArrayType) {
// Same trick as above.
final EvaluatedArrayType gat = (EvaluatedArrayType)type ;
final EvaluatedType ctype = canonicalType( gat.componentType() ) ;
final Class cclass = getJavaClass( ctype ) ;
final Object temp = Array.newInstance( cclass, 0 ) ;
return temp.getClass() ;
} else {
throw Exceptions.self.cannotConvertToJavaType(type) ;