@Override
        public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
          if (myLineMatch) {
            assert myOffset != -1;
            String key = owner + "." + name + desc;
            int currentCount = myCounter.mergeInt(key, 1, Math::addExact) - 1;
            if (name.startsWith("access$")) { // bridge method
              ReferenceType cls =
                ContainerUtil.getFirstItem(location.virtualMachine().classesByName(Type.getObjectType(owner).getClassName()));
              if (cls != null) {
                Method method = DebuggerUtils.findMethod(cls, name, desc);
                if (method != null) {
                  MethodBytecodeUtil.visit(method, new MethodVisitor(Opcodes.API_VERSION) {
                    @Override
                    public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
                      if ("java/lang/AbstractMethodError".equals(owner)) {
                        return;
                      }
                      visitMethodInstInt(owner, name, desc, currentCount, myOffset);
                    }
                  }, false);
                }
              }
            }
            else {
              visitMethodInstInt(owner, name, desc, currentCount, myOffset);
            }
          }
        }
@Override
        public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf)