```\nfunction _stakeToken(uint _tokenId, uint _unlockTime) internal returns (uint) {\n  if (_unlockTime > 0) {\n    unlockTime[_tokenId] = _unlockTime;\n    uint fullStakedTimeBonus = ((_unlockTime - block.timestamp) * stakingSettings.maxStakeBonusAmount) / stakingSettings.maxStakeBonusTime;\n    stakedTimeBonus[_tokenId] = _tokenId < 10000 ? fullStakedTimeBonus : fullStakedTimeBonus / 2;\n  }\n```\n