code/app/be/objectify/deadbolt/java/actions/AbstractDeadboltAction.java
protected CompletionStage<Result> onAuthFailure(final DeadboltHandler deadboltHandler,
                                                    final Optional<String> content,
                                                    final Http.RequestHeader request)
    {
        LOGGER.info("Deadbolt: Access failure on [{}]",
                    request.uri());

        CompletionStage<Result> result;
        try
        {
            result = deadboltHandler.onAuthFailure(request,
                                                   content);
        }
        catch (Exception e)
        {
            LOGGER.warn("Deadbolt: Exception when invoking onAuthFailure",
                        e);
            result = CompletableFuture.completedFuture(Results.internalServerError());
        }
        return result;
    }
protected CompletionStage<Result> onAuthFailure(final DeadboltHandler deadboltHandler,
                                                    final Optional<String> content,
                                                    final Http.RequestHeader request)
    {
        LOGGER.info("Deadbolt: Access failure on [{}]",
                    request.uri());

        CompletionStage<Result> result;
        try
        {
            result = deadboltHandler.onAuthFailure(request,
                                                   content);
        }
        catch (Exception e)
        {
            LOGGER.warn("Deadbolt: Exception when invoking onAuthFailure",
                        e);
            result = CompletableFuture.completedFuture(Results.internalServerError());
        }
        return result;
    }
Wrapper for {@link DeadboltHandler#onAuthFailure} to ensure the access failure is logged.

@param deadboltHandler the Deadbolt handler
@param content         the content type hint
@param request         the request
@return the result of {@link DeadboltHandler#onAuthFailure}