public void visitMethodInsn(
		final int opcode,
		final String owner,
		final String name,
		final String desc){
	if(mv != null)
		{
		mv.visitMethodInsn(opcode, owner, name, desc);
		}
	pop(desc);
	if(opcode != Opcodes.INVOKESTATIC)
		{
		Object t = pop();
		if(opcode == Opcodes.INVOKESPECIAL && name.charAt(0) == '<')
			{
			Object u;
			if(t == Opcodes.UNINITIALIZED_THIS)
				{
				u = owner;
				}
			else
				{
				u = uninitializedTypes.get(t);
				}
			for(int i = 0; i < locals.size(); ++i)
				{
				if(locals.get(i) == t)
					{
					locals.set(i, u);
					}
				}
			for(int i = 0; i < stack.size(); ++i)
				{
				if(stack.get(i) == t)
					{
					stack.set(i, u);
					}
				}
			}
		}
	pushDesc(desc);
	labels = null;
}