@Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final ProfileInterceptorContext interceptorContext) {
final Map<String, ProfileInterceptorFlowDescriptor> availableFlows = interceptorContext.getAvailableFlows();
final Iterator<Entry<String, ProfileInterceptorFlowDescriptor>> descriptorIterator =
availableFlows.entrySet().iterator();
while (descriptorIterator.hasNext()) {
final ProfileInterceptorFlowDescriptor descriptor = descriptorIterator.next().getValue();
if (descriptor.isNonBrowserSupported()) {
log.debug("{} Retaining flow '{}', it supports non-browser authentication", getLogPrefix(),
descriptor.getId());
} else {
log.debug("{} Removing flow '{}', it does not support non-browser authentication", getLogPrefix(),
descriptor.getId());
descriptorIterator.remove();
}
}
if (availableFlows.size() == 0) {
log.info("{} No available interceptor flows remain after filtering", getLogPrefix());
} else {
log.debug("{} Available interceptor flows after filtering: '{}'", getLogPrefix(), availableFlows);
}
}