n = n.substring(0, n.length() - 6).replace('/', '.');
InputStream is = zip.getInputStream(e);
ClassReader cr = new ClassReader(is);
if (cr.readInt(4) != Opcodes.V1_6) {
try {
ClassWriter cw = new ClassWriter(
ClassWriter.COMPUTE_FRAMES);
cr.accept(cw, 0);
cr = new ClassReader(cw.toByteArray());
} catch (Throwable ignored) {
continue;
}
}
ClassWriter cw = new ClassWriter(0);
ClassVisitor cv = getClassAdapter(cw);
try {
cr.accept(cv, ClassReader.EXPAND_FRAMES);
} catch (UnsatisfiedLinkError ignored) {
} catch (NoClassDefFoundError ignored) {
}
byte[] b = cw.toByteArray();
try {
new TestClassLoader().defineClass(n, b);
} catch (ClassFormatError cfe) {
cfe.printStackTrace();
fail();