```\nfunction \_revokePlan(address vestingAdmin, uint256 planId) internal {\n Plan memory plan = plans[planId];\n require(vestingAdmin == plan.vestingAdmin, '!vestingAdmin');\n (uint256 balance, uint256 remainder, ) = planBalanceOf(planId, block.timestamp, block.timestamp);\n require(remainder > 0, '!Remainder');\n address holder = ownerOf(planId);\n delete plans[planId];\n \_burn(planId);\n TransferHelper.withdrawTokens(plan.token, vestingAdmin, remainder);\n TransferHelper.withdrawTokens(plan.token, holder, balance);\n emit PlanRevoked(planId, balance, remainder);\n}\n```\n