docs: @Override
      public void run() {
          synchronized (lock) {
              if (mIsDone || mIsCancelled) {
                  return;
              }
              mIsStarted = true;
          }
  
          try {
              t = mCallable.call();
          } catch (Exception e) {
              e.printStackTrace();
          }
  
          synchronized (lock) {
              mIsDone = true;
              lock.notifyAll();
          }
  
      }