@Override
  public void draw(Canvas canvas) {
    canvas.save();

    if (currentDrawable != null) {
      currentDrawable.draw(canvas);
    } else if (defaultColor != Color.TRANSPARENT) {
      if (path != null) {

        paint.setColor(defaultColor);
        canvas.drawPath(path, paint);
      } else {
        canvas.drawColor(defaultColor);
      }
    }

    canvas.restore();
  }