class SecurityAnalysisExecutionImpl implements SecurityAnalysisExecution {

    @Override
    public CompletableFuture<SecurityAnalysisResult> execute(ComputationManager computationManager, SecurityAnalysisExecutionInput data) {
        SecurityAnalysisInput input = buildInput(data);
        SecurityAnalysis securityAnalysis = buildSecurityAnalysis(input, computationManager);
        return securityAnalysis.run(input.getNetworkVariant().getVariantId(), input.getParameters(), input.getContingenciesProvider());
    }

    public  SecurityAnalysisExecutionImpl(SecurityAnalysisFactory factory);
    public  SecurityAnalysisExecutionImpl(SecurityAnalysisFactory factory, SecurityAnalysisInputBuildStrategy inputBuildStrategy);

}