protected void genArrayCreate(Context ctx, Primitive prim, Tree size) {
protected void genArrayCreate(Context ctx, Primitive prim, Tree size) throws JCode.OffsetTooBigException {
    protected void genArrayCreate(Context ctx, Primitive prim, Tree size) {        genLoad(ctx, size, JType.INT);        JType type;        switch (prim) {        case NEW_ZARRAY : type = JType.BOOLEAN; break;        case NEW_BARRAY : type = JType.BYTE;    break;        case NEW_SARRAY : type = JType.SHORT;   break;        case NEW_CARRAY : type = JType.CHAR;    break;        case NEW_IARRAY : type = JType.INT;     break;        case NEW_LARRAY : type = JType.LONG;    break;        case NEW_FARRAY : type = JType.FLOAT;   break;        case NEW_DARRAY : type = JType.DOUBLE;  break;        default: throw Debug.abort("unexpected primitive", prim);        }        ctx.code.emitNEWARRAY(type);    }