Source:
public String updateFlow(String flowId, QosPolicyRequest updatedQosPolicyRequest) throws FlowAllocationException, FlowNotFoundException, ProvisionerException { synchronized (mutex) { String username = SecurityContextPersistenceFilterSkipClearContext.get(); SecurityContextPersistenceFilterSkipClearContext.unset(); INCLNotifierClient sdnClient = clientManager.getClient(username); try { String netId = getNetworkSelector().getNetwork(); IResource networkResource = getResource(netId); INCLProvisionerCapability nclProvCapab = (INCLProvisionerCapability) networkResource .getCapabilityByInterface(INCLProvisionerCapability.class); CircuitRequest circuitRequest = QosPolicyRequestParser.toCircuitRequest(updatedQosPolicyRequest); nclProvCapab.updateCircuit(flowId, circuitRequest); getAllocatedRequests().put(flowId, circuitRequest); log.debug("Notifiying SDN Module that flow " + flowId + " has been allocated."); sdnClient.qosPolicyAllocated(flowId, updatedQosPolicyRequest); return flowId; } catch (CircuitAllocationException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } catch (NotExistingCircuitException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowNotFoundException(e); } catch (ResourceException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new ProvisionerException(e); } catch (Exception e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } } }

Target:
public String updateFlow(String flowId, QosPolicyRequest updatedQosPolicyRequest) throws FlowAllocationException, FlowNotFoundException, ProvisionerException { synchronized (mutex) { String username = SecurityContextPersistenceFilterSkipClearContext.get(); SecurityContextPersistenceFilterSkipClearContext.unset(); INCLNotifierClient sdnClient = clientManager.getClient(username); try { String netId = getNetworkSelector().getNetwork(); IResource networkResource = getResource(netId); INCLProvisionerCapability nclProvCapab = (INCLProvisionerCapability) networkResource .getCapabilityByInterface(INCLProvisionerCapability.class); CircuitRequest circuitRequest = QosPolicyRequestParser.toCircuitRequest(updatedQosPolicyRequest); nclProvCapab.updateCircuit(flowId, circuitRequest); getAllocatedRequests().put(flowId, circuitRequest); log.debug("Notifiying SDN Module that flow " + flowId + " has been allocated."); sdnClient.qosPolicyDeallocated(flowId, QoSPolicyRequestWrapperParser.fromCircuitRequests(getAllocatedRequests()) .getQoSPolicyRequests().get(flowId)); sdnClient.qosPolicyAllocated(flowId, updatedQosPolicyRequest); return flowId; } catch (CircuitAllocationException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } catch (NotExistingCircuitException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowNotFoundException(e); } catch (ResourceException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new ProvisionerException(e); } catch (Exception e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } } }