} else if (pt.symbol() == definitions.ARRAY_CLASS) { Tree boxtree = gen.mkRef(tree.pos, primitives.BOX__ARRAY); return gen.mkApply_V(boxtree, new Tree[]{tree});
    private Tree coerce(Tree tree, Type pt) {        if (isSubType(tree.getType(), pt)) return tree;        if (isUnboxedType(tree.getType())) {            if (!isUnboxedType(pt)) return coerce(box(tree), pt);        } else if (isUnboxedType(pt)) {            if (tree.type.symbol() == definitions.ARRAY_CLASS                || isUnboxedSimpleType(pt)) return unbox(tree, pt);        }        return gen.mkAsInstanceOf(tree, pt);    }