```\nfunction beforeWithdraw(\n    uint256 assets,\n    uint256,\n    address\n) internal override {\n    /// @dev withdrawal will fail if the utilization goes above maxUtilization value due to a withdrawal\n    // totalUsdcBorrowed will reduce when borrower (junior vault) repays\n    if (totalUsdcBorrowed() > ((totalAssets() - assets) * maxUtilizationBps) / MAX_BPS)\n        revert MaxUtilizationBreached();\n\n    // take out required assets from aave lending pool\n    pool.withdraw(address(asset), assets, address(this));\n}\n```\n