if ( superName.equals( proxyName ) )
{
throw new ClassNotFoundException( name );
}
final ClassWriter cw = new ClassWriter( 0 );
cw.visit( Opcodes.V1_6, Modifier.PUBLIC, proxyName, null, superName, null );
final MethodVisitor mv = cw.visitMethod( Modifier.PUBLIC, "<init>", "()V", null, null );
mv.visitCode();
mv.visitVarInsn( Opcodes.ALOAD, 0 );
mv.visitMethodInsn( Opcodes.INVOKESPECIAL, superName, "<init>", "()V", false );
mv.visitInsn( Opcodes.RETURN );
mv.visitMaxs( 1, 1 );
mv.visitEnd();
cw.visitEnd();
final byte[] buf = cw.toByteArray();
return defineClass( name, buf, 0, buf.length );
}