code: private void stop() {
          //unregister and free all resources;
          if (updateTask != null)
              updateTask.cancel();
          for (GenericStatsProducer producer : producers) {
              producer.genericStats.destroy();
              ProducerRegistryFactory.getProducerRegistryInstance().unregisterProducer(producer);
          }
          producers.clear();
      }
docs: Cancel updater task and unregister producers.
  However, call of {@link #setup()} method will recreate everything and
  turn this GenericMonitor back to running state.