code: @Override
    public ExpressionDetacher createExpressionDetacher(Label reattachPoint) {
      SaveRestoreState saveRestoreState = variables.saveRestoreState();
      Statement restore = saveRestoreState.restore();
      int state = addState(reattachPoint, restore);
      Statement saveState = stateField.putInstanceField(thisExpr, BytecodeUtils.constant(state));
      return new ExpressionDetacher.BasicDetacher(
          Statement.concat(saveRestoreState.save(), saveState));
    }
docs: Returns a {@link ExpressionDetacher} that can be used to instrument an expression with detach
  reattach logic.