class BBInputSetupUtils {

    public List<ExecuteBuildingBlock> loadOriginalFlowExecutionPath(String requestId) {
        if (requestId != null) {
            InfraActiveRequests request = loadInfraActiveRequestById(requestId);
            if (request.getOriginalRequestId() != null) {
                RequestProcessingData requestProcessingData =
                        this.requestsDbClient.getRequestProcessingDataBySoRequestIdAndName(
                                request.getOriginalRequestId(), PROCESSING_DATA_NAME_EXECUTION_FLOWS);
                try {
                    ObjectMapper om = new ObjectMapper();
                    TypeFactory typeFactory = om.getTypeFactory();
                    om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
                    return om.readValue(requestProcessingData.getValue(),
                            typeFactory.constructCollectionType(List.class, ExecuteBuildingBlock.class));
                } catch (Exception e) {
                    logger.error(DATA_LOAD_ERROR, e);
                    throw new RuntimeException("Error Loading Original Request Data", e);
                }
            } else {
                throw new RuntimeException("Original Request Id is null for record: " + requestId);
            }
        } else {
            throw new RuntimeException("Null Request Id Passed in");
        }
    }

}