@Override
  public void dispose() {
    //MAYBE RC: ThreadLeakTrackerExtension still flag this thread leaked -- even though it must be
    //          terminated by the container. Added the thread name to the ThreadLeakTracker.knownOffenders
    //          list for now, because can't trace the reason it is 'leaked'. Maybe return to this later,
    //          and reconsider
    try {
      close();
    }
    catch (Throwable e) {
      LOG.error("Error closing monitor", e);
    }
  }
@Override
  public void dispose()