class ResidentOperationExecutor extends BaseOperationExecutor {

    protected OperationProgress generateOperationProgress(OperationProgress existingProgress)
    {
        OperationProgress operationProgress = existingProgress == null ? new OperationProgress() : existingProgress;
        if(operationProgress.getProcessingState() == null)
            operationProgress.setProcessingState(ProcessingState.WAITING);
        operationProgress.setStartedTime(startTime);
        operationProgress.setCompletedTime(completedTime);
        operationProgress.setOperation(operation.getName());
        operationProgress.setResultPayload(outputPayload);
        if(residentHandlerException != null)
        {
            operationProgress.setProcessingState(ProcessingState.COMPLETE);
            operationProgress.setProcessingStateMessage(CompleteStateMessage.FAILED.toString());
            appendExceptionDiagnosticEvent(operationProgress, residentHandlerException);
        }
        return operationProgress;
    }

    public  ResidentOperationExecutor(Operation operation, ResidentHandler residentHandler, LaunchDataWrapper launchDataWrapper);

}