class ExplainabilityService {

    public List<PredictOutput> processRequest(Application application, List<PredictInput> predictInputs) {
        return predictInputs.stream().map(predictInput -> executors.stream()
                .filter(r -> r.acceptRequest(predictInput))
                .map(r -> r.processRequest(application, predictInput))
                .findFirst()
                .orElseThrow(() -> new IllegalArgumentException("Malformed resourceType " + predictInput.getModelIdentifier().getResourceType())))
                .collect(toList());
    }

    public  ExplainabilityService(Collection<ExplainabilityResourceExecutor> executors);

}