code: public static AuthToken custom( String principal, String credentials, String realm, String scheme)
      {
          return custom( principal, credentials, realm, scheme, null );
      }
docs: A custom authentication token used for doing custom authentication on the server side.
  @param principal this used to identify who this token represents
  @param credentials this is credentials authenticating the principal
  @param realm this is the "realm:, specifying the authentication provider.
  @param scheme this it the authentication scheme, specifying what kind of authentication that should be used
  @return an authentication token that can be used to connect to Neo4j
  @see GraphDatabase#driver(String, AuthToken)
  @throws NullPointerException when either principal, credentials or scheme is {@code null}