
function is_java_array(obj){
    return !Array.isArray(obj)  && obj.class.isArray()	
}

function is_java_list(obj){
    return obj instanceof java.util.List	
}



print(is_java_array(v))
print(is_java_array(a))
print(is_java_array(r))

function flatten(arr) {
    var ret = [];
    if (is_java_list(arr)){
        arr = to_array(arr)
    } else if (is_java_array(arr)) {
        arr =  Java.from(arr);
    }
    
    for(var i = 0; i < arr.length; i++) {
        if((is_java_list(arr[i])) || (is_java_array(arr[i]))) {
            ret = ret.concat(flatten(arr[i]));
        } else {
            ret.push(arr[i]);
        }
    }
    return ret;
}



r = flatten(a)