class DefaultAuthenticationResult implements AuthenticationResult {

    public static AuthenticationResult successful(final DittoHeaders dittoHeaders,
            final AuthorizationContext authorizationContext) {

        return new DefaultAuthenticationResult(dittoHeaders,
                checkNotNull(authorizationContext, "authorizationContext"), null);
    }

    private  DefaultAuthenticationResult(final DittoHeaders dittoHeaders,
            @Nullable final AuthorizationContext authorizationContext, @Nullable final Throwable reasonOfFailure);

}