docs: @Override
      public void setMonitorEnabled(boolean enabled) {
          if(enabled) {
              // create and start background monitor
              if (monitor == null) {
                  monitor = new AdcGpioProviderBase.ADCMonitor();
                  monitor.start();
              }
          }
          else{
              try {
                  // if a monitor is running, then shut it down now
                  if (monitor != null) {
                      // shutdown monitoring thread
                      monitor.shutdown();
                      monitor = null;
                  }
              } catch (Exception e) {
                  throw new RuntimeException(e);
              }
          }
      }