```\n    function getTargetExternalLendingAmount(\n        Token memory underlyingToken,\n        PrimeCashFactors memory factors,\n        RebalancingTargetData memory rebalancingTargetData,\n        OracleData memory oracleData,\n        PrimeRate memory pr\n    ) internal pure returns (uint256 targetAmount) {\n        // Short circuit a zero target\n      if (rebalancingTargetData.targetUtilization == 0) return 0;\n\n// rest of code.\n        if (targetAmount < oracleData.currentExternalUnderlyingLend) {\n            uint256 forRedemption = oracleData.currentExternalUnderlyingLend - targetAmount;\n            if (oracleData.externalUnderlyingAvailableForWithdraw < forRedemption) {\n                // increase target amount so that redemptions amount match externalUnderlyingAvailableForWithdraw\n                targetAmount = targetAmount.add(\n                    // unchecked - is safe here, overflow is not possible due to above if conditional\n                    forRedemption - oracleData.externalUnderlyingAvailableForWithdraw\n                );\n            }\n        }\n```\n