@Override
    public void run() {
      while (running) {
        try {
          Thread.sleep(monitorInterval);
          if (tasks.isFull()) {
            purgeExpiredTasks();
          }
          warnStuckTasks();
        } catch (InterruptedException e) {
          running = false;
        }
      }
    }
An InvocationHandler that simply passes through calls to the original object.
hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java