```\\nfunction withdraw(\\n  address account,\\n  uint256 withdrawETH,\\n  ERC20[] calldata tokens\\n) external override {\\n  uint256[] memory tokenAmounts = new uint256[](tokens.length);\\n  uint256 ethAmount;\\n  if (withdrawETH != 0) {\\n    ethAmount = _withdraw(account);\\n  }\\n  unchecked {\\n    // overflow should be impossible in for-loop index\\n    for (uint256 i = 0; i < tokens.length; ++i) {\\n      // overflow should be impossible in array length math\\n      tokenAmounts[i] = _withdrawERC20(account, tokens[i]);\\n    }\\n    emit Withdrawal(account, ethAmount, tokens, tokenAmounts);\\n  }\\n}\\n```\\n