code: @Override
      public void run() {
          if (!mDone) {
              synchronized (this) {
                  if (!mDone) {
                      call();
                      mDone = true;
                      try {
                          this.notifyAll();
                      } catch (Exception ignored) {
                      }
                  }
              }
          }
      }
docs: Run to doing something