```\\nfunction _callOptionalReturn(IERC20 token, bytes memory data) private {\\n    // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\\n    // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that\\n    // the target address contains contract code and also asserts for success in the low-level call.\\n\\n    bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");\\n    if (returndata.length > 0) {\\n        // Return data is optional\\n        require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");\\n    }\\n}\\n```\\n