docs: public boolean isDownScaleRequired(CmsImageScaler downScaler) {
  
          if ((downScaler == null) || !isValid() || !downScaler.isValid()) {
              // one of the scalers is invalid
              return false;
          }
  
          if (getPixelCount() < (downScaler.getPixelCount() / 2)) {
              // the image has much less pixels then the target, so don't downscale
              return false;
          }
  
          int downWidth = downScaler.getWidth();
          int downHeight = downScaler.getHeight();
          if (downHeight > downWidth) {
              // normalize image orientation - the width should always be the large side
              downWidth = downHeight;
              downHeight = downScaler.getWidth();
          }
          int height = getHeight();
          int width = getWidth();
          if (height > width) {
              // normalize image orientation - the width should always be the large side
              width = height;
              height = getWidth();
          }
  
          return (width > downWidth) || (height > downHeight);
      }