class ResumeOrchestrationRequest {

    protected RequestClientParameter setRequestClientParameter(RecipeLookupResult recipeLookupResult, String version,
            InfraActiveRequests infraActiveRequest, InfraActiveRequests currentActiveRequest, String pnfCorrelationId,
            Boolean aLaCarte, ServiceInstancesRequest sir) throws ApiException {
        RequestClientParameter requestClientParameter = null;
        Action action = Action.valueOf(infraActiveRequest.getRequestAction());
        ModelInfo modelInfo = sir.getRequestDetails().getModelInfo();

        Boolean isBaseVfModule = false;
        if (requestHandlerUtils.getModelType(action, modelInfo).equals(ModelType.vfModule)) {
            isBaseVfModule = requestHandlerUtils.getIsBaseVfModule(modelInfo, action, infraActiveRequest.getVnfType(),
                    msoRequest.getSDCServiceModelVersion(sir), currentActiveRequest);
        }

        try {
            requestClientParameter = new RequestClientParameter.Builder()
                    .setRequestId(currentActiveRequest.getRequestId()).setBaseVfModule(isBaseVfModule)
                    .setRecipeTimeout(recipeLookupResult.getRecipeTimeout())
                    .setRequestAction(infraActiveRequest.getRequestAction())
                    .setServiceInstanceId(infraActiveRequest.getServiceInstanceId())
                    .setPnfCorrelationId(pnfCorrelationId).setVnfId(infraActiveRequest.getVnfId())
                    .setVfModuleId(infraActiveRequest.getVfModuleId())
                    .setVolumeGroupId(infraActiveRequest.getVolumeGroupId())
                    .setNetworkId(infraActiveRequest.getNetworkId()).setServiceType(infraActiveRequest.getServiceType())
                    .setVnfType(infraActiveRequest.getVnfType())
                    .setVfModuleType(msoRequest.getVfModuleType(sir, infraActiveRequest.getRequestScope()))
                    .setNetworkType(infraActiveRequest.getNetworkType())
                    .setRequestDetails(requestHandlerUtils.mapJSONtoMSOStyle(infraActiveRequest.getRequestBody(), sir,
                            aLaCarte, action))
                    .setApiVersion(version).setALaCarte(aLaCarte).setRequestUri(currentActiveRequest.getRequestUrl())
                    .setInstanceGroupId(infraActiveRequest.getInstanceGroupId()).build();
        } catch (IOException e) {
            logger.error("IOException while generating requestClientParameter to send to BPMN", e);
            ErrorLoggerInfo errorLoggerInfo =
                    new ErrorLoggerInfo.Builder(MessageEnum.APIH_BPEL_RESPONSE_ERROR, ErrorCode.SchemaError)
                            .errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
            throw new ValidateException.Builder(
                    "IOException while generating requestClientParameter to send to BPMN: " + e.getMessage(),
                    HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_BAD_PARAMETER).errorInfo(errorLoggerInfo)
                            .build();
        }
        return requestClientParameter;
    }

}