static byte[] changeLdcToLdcW(byte[] code, ExceptionTable etable,
                                  CodeAttribute ca, CodeAttribute.LdcEntry ldcs)
        throws BadBytecode
    {
        ArrayList jumps = makeJumpList(code, code.length);
        while (ldcs != null) {
            addLdcW(ldcs, jumps);
            ldcs = ldcs.next;
        }

        Pointers pointers = new Pointers(0, 0, 0, etable, ca);
        byte[] r = insertGap2w(code, 0, 0, false, jumps, pointers);
        return r;
    }