docs: public static PnkyPromise<Void> runAsync(final ThrowingRunnable operation,
        final Executor executor)
    {
      final Pnky<Void> pnky = Pnky.create();
  
      executor.execute(new Runnable()
      {
        @Override
        public void run()
        {
          if (pnky.state.compareAndSet(WAITING, RUNNING))
          {
            try
            {
              operation.run();
              pnky.resolve(null);
            }
            catch (final Throwable e)
            {
              pnky.reject(e);
            }
          }
        }
      });
  
      return pnky;
    }