public interface io.dropwizard.auth.Authenticator<C, P extends java.security.Principal>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.dropwizard.auth.Authenticator
  super_class: java.lang.Object
{
  public abstract java.util.Optional<P> authenticate(C);
    descriptor: (Ljava/lang/Object;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws io.dropwizard.auth.AuthenticationException
    Signature: (TC;)Ljava/util/Optional<TP;>;
    MethodParameters:
             Name  Flags
      credentials  
}
Signature: <C:Ljava/lang/Object;P::Ljava/security/Principal;>Ljava/lang/Object;
SourceFile: "Authenticator.java"