code/app/be/objectify/deadbolt/java/filters/DeadboltRouteModifierTagsFilter.java
@Override
    public CompletionStage<Result> apply(final Function<Http.RequestHeader, CompletionStage<Result>> next,
                                         final Http.RequestHeader requestHeader)
    {
        final HandlerDef handlerDef = requestHeader.attrs().get(Router.Attrs.HANDLER_DEF);
        final List<String> deadboltModifierTags = handlerDef.getModifiers().stream().filter(mt -> mt != null && mt.startsWith("deadbolt:")).collect(Collectors.toList());
        return processModifierTags(deadboltModifierTags, 0, requestHeader, next);
    }
@Override
    public CompletionStage<Result> apply(final Function<Http.RequestHeader, CompletionStage<Result>> next,
                                         final Http.RequestHeader requestHeader)
    {
        final HandlerDef handlerDef = requestHeader.attrs().get(Router.Attrs.HANDLER_DEF);
        final List<String> deadboltModifierTags = handlerDef.getModifiers().stream().filter(mt -> mt != null && mt.startsWith("deadbolt:")).collect(Collectors.toList());
        return processModifierTags(deadboltModifierTags, 0, requestHeader, next);
    }
If a constraint is defined for a given route, test that constraint before allowing the request to proceed.

@param next          the next step in the filter chain
@param requestHeader the request header
@return a future for the result