public abstract class ServerCredentials extends Object
ServerCredentials; the consumer of the credential (the server)
 must support each implementation explicitly and separately. Consumers are not required to support
 all types or even all possible configurations for types that are partially supported, but they
 must at least fully support ChoiceServerCredentials.
 A ServerCredential provides server identity. They can also influence types of
 encryption used and similar security configuration.
 
The concrete credential type should not be relevant to most users of the API and may be an
 implementation decision. Users should generally use the ServerCredentials type for
 variables instead of the concrete type. Freshly-constructed credentials should be returned as
 ServerCredentials instead of a concrete type to encourage this pattern. Concrete types
 would only be used after instanceof checks (which must consider
 ChoiceServerCredentials!).