```\n    function exerciseOptionsReceiver(address srcChainSender, bytes memory _data) public payable {\n// rest of code\n            ITapiocaOptionBroker(_options.target).exerciseOption(\n              _options.oTAPTokenID,\n                address(this), //payment token\n                _options.tapAmount\n            );\n            _approve(address(this), address(pearlmit), 0);\n            uint256 bAfter = balanceOf(address(this));\n\n            // Refund if less was used.\n            if (bBefore > bAfter) {\n                uint256 diff = bBefore - bAfter;\n                if (diff < _options.paymentTokenAmount) {\n                    IERC20(address(this)).safeTransfer(_options.from, _options.paymentTokenAmount - diff);\n                }\n            }\n// rest of code\n```\n