public void unbind(ICommissioningSystemDriverFactory driverFactory) {
    log.debug("Unbinding " + driverFactory.getClass().getName());

    log.info(
        "Shutting down stock commissioning systems for driver id [{}]",
        driverFactory.getIdentification().toString());
    IStatus status =
        StockCommissioningSystemService.INSTANCE.shutdownInstancesUsingDriver(
            driverFactory.getIdentification());
    if (!status.isOK()) {
      StatusUtil.logStatus(log, status, true);
    }

    driverFactories.remove(driverFactory.getIdentification());
  }
 @Reference(
     cardinality = ReferenceCardinality.MULTIPLE,
     policy = ReferencePolicy.DYNAMIC,
     policyOption = ReferencePolicyOption.GREEDY)
 public void bind(ICommissioningSystemDriverFactory driverFactory) {
   log.debug("Binding " + driverFactory.getClass().getName());
   driverFactories.put(driverFactory.getIdentification(), driverFactory);
 }