class DetectorExecutorImpl implements DetectorExecutor {

    @Override
    public DetectorResult doDetection(DetectorContainer detectorContainer, @NonNull MetricData metricData) {
        val detectionFilterChain = new DetectionFilterChain(detectorContainer);

        val request = new DetectorRequest(metricData);
        val response = new DetectorResponse();

        detectionFilterChain.doFilter(request, response);
        return response.getDetectorResult();
    }

}