Looking for explanation of function

hey, i am reading aave v2 codebase and trying to understand each user flow and architecture of the protocol. But while exploring _transfer function in IncentivisedERC20 contract i got this two function calls.
``function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), ‘ERC20: transfer from the zero address’);
require(recipient != address(0), ‘ERC20: transfer to the zero address’);

@> _beforeTokenTransfer(sender, recipient, amount);

uint256 oldSenderBalance = _balances[sender];
_balances[sender] = oldSenderBalance.sub(amount, 'ERC20: transfer amount exceeds balance');
uint256 oldRecipientBalance = _balances[recipient];
_balances[recipient] = _balances[recipient].add(amount);

if (address(_getIncentivesController()) != address(0)) {
  uint256 currentTotalSupply = _totalSupply;
@>  _getIncentivesController().handleAction(sender, currentTotalSupply, oldSenderBalance);
  if (sender != recipient) {
@>    _getIncentivesController().handleAction(recipient, currentTotalSupply, oldRecipientBalance);
  }
}

}``

the line marked as `@>` is the function call for which i am not sure about like what they are for how they work and where actually they are implemented. Can anyone here who can help me regarding this issue?