docs: @Override
    public void draw(Canvas canvas) {
      mBounds = getBounds();
      canvas.clipRect(mBounds);
  
      //new turn
      if (mNewTurn) {
        mColorsIndex = decrementColor(mColorsIndex);
        mNewTurn = false;
  
        if (isFinishing()) {
          mStartSection++;
  
          if (mStartSection > mSectionsCount) {
            stop();
            return;
          }
        }
        if (mCurrentSections < mSectionsCount) {
          mCurrentSections++;
        }
      }
  
      if (mUseGradients)
        prepareGradient();
  
      drawStrokes(canvas);
    }