code: @Override
    public void onDeleteSpec(URI deletedSpecURI, String deletedSpecVersion, Properties headers) {
      if (this.helixManager.isPresent() && !this.helixManager.get().isConnected()) {
        // Specs in store will be notified when Scheduler is added as listener to FlowCatalog, so ignore
        // .. Specs if in cluster mode and Helix is not yet initialized
        _log.info("System not yet initialized. Skipping Spec Deletion: " + deletedSpecURI);
        return;
      }
      _log.info("Spec deletion detected: " + deletedSpecURI + "/" + deletedSpecVersion);
  
      try {
        Spec deletedSpec = this.scheduledFlowSpecs.get(deletedSpecURI.toString());
        if (null != deletedSpec) {
          this.orchestrator.remove(deletedSpec, headers);
          this.scheduledFlowSpecs.remove(deletedSpecURI.toString());
          unscheduleJob(deletedSpecURI.toString());
        } else {
          _log.warn(String.format(
              "Spec with URI: %s was not found in cache. May be it was cleaned, if not please " + "clean it manually",
              deletedSpecURI));
        }
      } catch (JobException e) {
        _log.warn(String.format("Spec with URI: %s was not unscheduled cleaning", deletedSpecURI), e);
      }
    }
docs: {@inheritDoc}