The built-in RetryPolicy implementations are currently not declared as final, which makes it technically possible to extend them.

However, they are not actually designed to be extensible.

  1. Their fields are private and do not have accessor methods.
  2. Their RetryExecution implementations are also private, which prevents reuse.

In light of the above, we should make all built-in RetryPolicy implementations final.