Chain several auth providers as if they were one. This is useful for cases where one want to authenticate across several providers, for example, database and fallback to passwd file.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `AuthProvider`
        - `ChainAuth`

- `ChainAuth`
  - `AuthProvider`
    - `Basic`
      - `Identifiable`
      - `Object`
        - `Anything`

no subtypes hierarchy

Initializer
`ChainAuth(ChainAuth unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`append` | `shared default ChainAuth append(AuthProvider other)` Appends a auth provider to the chain. Parameters: `other` auth provider
`clear` | `shared default void clear()` Clears the chain.
`remove` | `shared default Boolean remove(AuthProvider other)` Removes a provider from the chain. Parameters: `other` provider to remove

Inherited Methods
Methods inherited from: `AuthProvider` `authenticate()`
Methods inherited from: `Object` `equals`