if (isUnboxedSimpleType(element)) break; assert element.parents().length > 0: element;
    private Tree genNewUnboxedArray(int pos, Type element, Tree size) {        switch (element) {        case UnboxedType(int kind): return genNewUnboxedArray(pos, kind, size);        }        if (global.target == global.TARGET_INT) {            int levels = 0;            while (isUnboxedArrayType(element)) {                element = getArrayElementType(element);                levels++;            }            global.nextPhase();            while (true) {                Symbol clasz = element.symbol();                if (clasz.isJava()) break;                if (clasz == definitions.ANY_CLASS) break;                element = element.parents()[0];            }            global.prevPhase();            while (levels > 0) {                element = Type.UnboxedArrayType(element);                levels--;            }        }        String name = primitives.getNameForClassForName(element);        Tree[] args = { coerce(size, UNBOXED_INT), gen.mkStringLit(pos,name) };        Tree array = gen.mkApply_V(gen.mkRef(pos,primitives.NEW_OARRAY), args);        return gen.mkAsInstanceOf(array, Type.UnboxedArrayType(element));    }