class ProcessGroupCmdExecutor extends PlainAsyncCmdExecutor {

    @Override
    public ProcessGroupExecution<String> launchCommand(final String command,
                                                       final Map<String, String> environmentVariables,
                                                       final File workDir) {
        final SingleProcessExecution<String> execution = super.launchCommand(command, environmentVariables, workDir);
        return new ProcessGroupExecution<>(execution.process, execution.result, plainCmdExecutor);
    }

    public  ProcessGroupCmdExecutor(final Executor executor,
                                   final CmdExecutor modelCmdExecutor,
                                   final CmdExecutor plainCmdExecutor);

}