```\n   modifier claimExecutionFees(address _wallet) {\n     uint256 startGas = gasleft();\n  _;\n if (feeMultiplier > 0) {\n    address feeToken = FeePayer._feeToken(_wallet);\n      uint256 gasUsed = startGas -gasleft();\n       (uint256 feeAmount, address recipient, Types.Executable memory feeTransferTxn)=FeePayer._buildFeeExecutable\n         (gasUsed, feeToken);\n emit FeeClaimed(_wallet, feeToken, feeAmount);\n   if (feeToken != ETH) {uint256 initialBalance = IERC20(feeToken).balanceOf(recipient);_\n       executeSafeERC20Transfer(_wallet, feeTransferTxn);\n             if (IERC20(feeToken).balanceOf(recipient) -initialBalance < feeAmount){\n        revert UnsuccessfulFeeTransfer(_wallet, feeToken);}\n     } else {\n    uint256 initialBalance = recipient.balance;\n  Executor._executeOnWallet(_wallet, feeTransferTxn);\n if (recipient.balance -initialBalance < feeAmount) {\n      revert UnsuccessfulFeeTransfer(_wallet, feeToken);\n                }\n            }\n        }\n    }\n```\n