```\nfunction _domainSeparatorV4() internal view returns (bytes32) {\n    if (address(this) == _cachedThis && block.chainid == _cachedChainId) {\n        return _cachedDomainSeparator;\n    } else {\n        return _buildDomainSeparator();\n    }\n}\n```\n