public void populateAuthorizationContext(Operation op, OperationProcessingContext context,
Consumer<AuthorizationContext> authorizationContextHandler) {
ServiceHost host = context.getHost();
getAuthorizationContext(op, context, authorizationContext -> {
if (authorizationContext == null) {
authorizationContext = host.getGuestAuthorizationContext();
AuthorizationContext cachedGuestCtx = host.getAuthorizationContext(null,
authorizationContext.getToken());
if (cachedGuestCtx != null) {
authorizationContext = cachedGuestCtx;
}
}
op.setAuthorizationContext(authorizationContext);
authorizationContextHandler.accept(authorizationContext);
});
}