docs: private static Bitmap createCornerShadow(@NonNull final Context context, final int elevation,
                                               @NonNull final Orientation orientation,
                                               final boolean parallelLight) {
          if (elevation == 0) {
              return null;
          } else {
              float horizontalShadowWidth =
                      getHorizontalShadowWidth(context, elevation, orientation, parallelLight);
              float verticalShadowWidth =
                      getVerticalShadowWidth(context, elevation, orientation, parallelLight);
              int horizontalShadowColor =
                      getHorizontalShadowColor(elevation, orientation, parallelLight);
              int verticalShadowColor = getVerticalShadowColor(elevation, orientation, parallelLight);
              int bitmapWidth = (int) Math.round(Math.ceil(verticalShadowWidth));
              int bitmapHeight = (int) Math.round(Math.ceil(horizontalShadowWidth));
              int bitmapSize = Math.max(bitmapWidth, bitmapHeight);
              Bitmap bitmap = Bitmap.createBitmap(bitmapSize, bitmapSize, Bitmap.Config.ARGB_8888);
              Canvas canvas = new Canvas(bitmap);
              Paint paint = new Paint();
              paint.setAntiAlias(true);
              paint.setDither(true);
              RectF arcBounds = getCornerBounds(orientation, bitmapSize);
              float startAngle = getCornerAngle(orientation);
              int[] sweepColors =
                      getCornerColors(orientation, horizontalShadowColor, verticalShadowColor);
              SweepGradient sweepGradient = new SweepGradient(arcBounds.left + arcBounds.width() / 2f,
                      arcBounds.top + arcBounds.height() / 2f, sweepColors,
                      new float[]{startAngle / FULL_ARC_DEGRESS, startAngle / FULL_ARC_DEGRESS +
                              QUARTER_ARC_DEGRESS / FULL_ARC_DEGRESS});
              paint.setShader(sweepGradient);
              canvas.drawArc(arcBounds, startAngle, QUARTER_ARC_DEGRESS, true, paint);
              Shader radialGradient = createRadialGradient(orientation, bitmapSize,
                      Math.max(horizontalShadowWidth, verticalShadowWidth));
              paint.setShader(radialGradient);
              paint.setColor(Color.BLACK);
              paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
              canvas.drawRect(0, 0, bitmapSize, bitmapSize, paint);
              return BitmapUtil.resize(bitmap, bitmapWidth, bitmapHeight);
          }
      }