docs: public synchronized void fail (Throwable error) {
      if (pixelWidth == 0) pixelWidth = 50;
      if (pixelHeight == 0) pixelHeight = 50;
      setBitmap(createErrorBitmap(pixelWidth, pixelHeight));
      ((RPromise<Image>)state).fail(error); // state is a deferred promise
    }