class ResumeOrchestrationRequest {

    protected Response resumeRequest(InfraActiveRequests infraActiveRequest, InfraActiveRequests currentActiveRequest,
            String version, String requestUri) throws ApiException {
        String requestBody = infraActiveRequest.getRequestBody();
        Action action = Action.valueOf(infraActiveRequest.getRequestAction());
        String requestId = currentActiveRequest.getRequestId();
        String requestScope = infraActiveRequest.getRequestScope();
        String instanceName = getInstanceName(infraActiveRequest, requestScope, currentActiveRequest);
        HashMap<String, String> instanceIdMap = setInstanceIdMap(infraActiveRequest, requestScope);

        checkForInProgressRequest(currentActiveRequest, instanceIdMap, requestScope, instanceName, action);

        ServiceInstancesRequest sir = null;
        sir = requestHandlerUtils.convertJsonToServiceInstanceRequest(requestBody, action, requestId, requestUri);
        Boolean aLaCarte = sir.getRequestDetails().getRequestParameters().getALaCarte();

        String pnfCorrelationId = serviceInstances.getPnfCorrelationId(sir);
        RecipeLookupResult recipeLookupResult = requestHandlerUtils.getServiceInstanceOrchestrationURI(sir, action,
                msoRequest.getAlacarteFlag(sir), currentActiveRequest);

        requestDbSave(currentActiveRequest);

        if (aLaCarte == null) {
            aLaCarte = setALaCarteFlagIfNull(requestScope, action);
        }

        RequestClientParameter requestClientParameter = setRequestClientParameter(recipeLookupResult, version,
                infraActiveRequest, currentActiveRequest, pnfCorrelationId, aLaCarte, sir);

        return requestHandlerUtils.postBPELRequest(currentActiveRequest, requestClientParameter,
                recipeLookupResult.getOrchestrationURI(), requestScope);
    }

}