private synchronized void deregisterAgent(DFAgentDescription dfad) throws Exception {

    log.info("Start wsigs's deregistration from agent: " + dfad.getName());

    WSIGService wsigService;

    AID agentId = dfad.getName();
    for (WSIGService wsigService1 : wsigStore.getServices(agentId)) {
      wsigService = wsigService1;

      // Deregister service
      deregisterService(wsigService);
    }

    log.info("End wsigs's deregistration from agent: " + dfad.getName());
  }