This image consists of five cylinders that represent the following:

An arrow representing a call to MessageDigest.getInstance("SHA-256") starts from the Application cylinder and passes through the following cylinders in the indicated order:

  1. Provider Framework

  2. ProviderA

  3. ProviderB

  4. Provider Framework

The arrow ends at the Application cylinder. The call to MessageDigest.getInstance("SHA-256") has returned a SHA-256 message digest implementation from ProviderB.