class ShapeViewDecoratorAnimation extends AbstractAnimation<LienzoShapeView<?>> {

    private IAnimationHandle animate(final com.ait.lienzo.client.core.shape.Shape<?> shape) {
        final AnimationProperties properties = isStrokeNotFill ?
                AnimationProperties.toPropertyList(STROKE_COLOR(color),
                                                   STROKE_ALPHA(alpha),
                                                   STROKE_WIDTH(strokeWidth)) :
                AnimationProperties.toPropertyList(FILL_COLOR(color),
                                                   FILL_ALPHA(alpha));
        return shape.animate(
                AnimationTweener.LINEAR,
                properties,
                getDuration(),
                getAnimationCallback());
    }

      ShapeViewDecoratorAnimation(final Supplier<LienzoShapeView<?>> shapeView,
                                final String fillColor,
                                final double fillAlpha);
      ShapeViewDecoratorAnimation(final Supplier<LienzoShapeView<?>> shapeView,
                                final String strokeColor,
                                final double strokeWidth,
                                final double strokeAlpha);

}