```\nfunction \_beforeTokenTransfer(\n    address operator,\n    address from,\n    address to,\n    uint256[] memory ids,\n    uint256[] memory amounts,\n    bytes memory data\n) internal virtual override {\n    for (uint256 i = 0; i < ids.length; i++) {\n        if (FortaStakingUtils.isActive(ids[i])) {\n            uint8 subjectType = FortaStakingUtils.subjectTypeOfShares(ids[i]);\n            if (subjectType == DELEGATOR\_NODE\_RUNNER\_SUBJECT && to != address(0) && from != address(0)) {\n                \_allocator.didTransferShares(ids[i], subjectType, from, to, amounts[i]);\n            }\n```\n