```\n    require(\_validityStatus, "CollateralizationOracleWrapper: CollateralizationOracle is invalid");\n\n    // set cache variables\n    cachedProtocolControlledValue = \_protocolControlledValue;\n    cachedUserCirculatingFei = \_userCirculatingFei;\n    cachedProtocolEquity = \_protocolEquity;\n\n    // reset time\n    \_initTimed();\n\n    // emit event\n    emit CachedValueUpdate(\n        msg.sender,\n        cachedProtocolControlledValue,\n        cachedUserCirculatingFei,\n        cachedProtocolEquity\n    );\n\n    return outdated\n        || \_isExceededDeviationThreshold(cachedProtocolControlledValue, \_protocolControlledValue)\n        || \_isExceededDeviationThreshold(cachedUserCirculatingFei, \_userCirculatingFei);\n}\n```\n