protected void genRefArrayCreate(Context ctx, Tree size, Tree classNameLit) {
protected void genRefArrayCreate(Context ctx, Tree size, Tree classNameLit) throws JCode.OffsetTooBigException {
    protected void genRefArrayCreate(Context ctx, Tree size, Tree classNameLit) {        genLoad(ctx, size, JType.INT);        String className;        switch (classNameLit) {        case Literal(Object name): className = (String)name; break;        default: throw global.fail("invalid argument for oarray " + classNameLit);        }        JReferenceType elemType;        switch (className.charAt(0)) {        case '[': case 'L':            elemType = (JReferenceType)JType.parseSignature(className); break;        default:            elemType = new JObjectType(className);        }        ctx.code.emitANEWARRAY(elemType);    }