class NetworkAdapterImpl {

    public void postProcessNetworkAdapter(BuildingBlockExecution execution) {
        try {
            String workflowResponse = (String) execution.getVariable("WorkflowResponse");
            if (workflowResponse != null) {
                Optional<String> responseType = findResponseType(workflowResponse);
                if ("createNetworkResponse".equals(responseType.get())) {
                    CreateNetworkResponse createNetworkResponse =
                            (CreateNetworkResponse) unmarshalXml(workflowResponse, CreateNetworkResponse.class);
                    execution.setVariable("createNetworkResponse", createNetworkResponse);
                } else if ("deleteNetworkResponse".equals(responseType.get())) {
                    DeleteNetworkResponse deleteNetworkResponse =
                            (DeleteNetworkResponse) unmarshalXml(workflowResponse, DeleteNetworkResponse.class);
                    execution.setVariable("deleteNetworkResponse", deleteNetworkResponse);
                } else if ("updateNetworkResponse".equals(responseType.get())) {
                    UpdateNetworkResponse updateNetworkResponse =
                            (UpdateNetworkResponse) unmarshalXml(workflowResponse, UpdateNetworkResponse.class);
                    execution.setVariable("updateNetworkResponse", updateNetworkResponse);
                } else {
                    logger.warn("Unable to determine network response type");
                }
            }
        } catch (Exception e) {
            logger.error("Error Network Adapter post process", e);
            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, e.getMessage(), Components.OPENSTACK);
        }
    }

}