code/app/be/objectify/deadbolt/java/actions/AbstractDeadboltAction.java
protected CompletionStage<Result> unauthorizeAndFail(final Http.RequestHeader request,
                                                         final DeadboltHandler handler,
                                                         final Optional<String> content)
    {
        if(constraintAnnotationMode == ConstraintAnnotationMode.OR && deadboltActionLeftInActionChain(this))
        {
            // In OR mode we don't fail immediately but also check remaining constraints (it there is any left). Maybe one of these next ones authorizes...
            return delegate.call((Http.Request)request);
        }

        return onAuthFailure(handler,
                             content,
                             request);
    }
protected CompletionStage<Result> unauthorizeAndFail(final Http.RequestHeader request,
                                                         final DeadboltHandler handler,
                                                         final Optional<String> content)
    {
        if(constraintAnnotationMode == ConstraintAnnotationMode.OR && deadboltActionLeftInActionChain(this))
        {
            // In OR mode we don't fail immediately but also check remaining constraints (it there is any left). Maybe one of these next ones authorizes...
            return delegate.call((Http.Request)request);
        }

        return onAuthFailure(handler,
                             content,
                             request);
    }
Add a flag to the request to indicate the action has been blocked by the
constraint and call {@link DeadboltHandler#onAuthFailure(Http.RequestHeader, Optional<String>)}.

@param request the request
@param handler the relevant handler
@param content the content type
@return the result