Impact of adding idempotencykey as method param in a activity method signature - Temporal moneytransfer example (Java SDK)

In the Temporal money transfer example, the AccountTransferWorkflowImpl generates and idempotencyKey using the Workflow.randomUUID().toString(); and passes it into the accountTransferActivities.deposit method, within the deposit method this param isn’t used.

Link to invocation in workflow

Link to the invoked activity method where the param isn’t used

What is the purpose of passing this parameter.

The real implementation needs to talk to an external API or DB to perform the actual business logic. This external dependency must be idempotent, and the idempotence key will be needed.

Thanks for the clarification