ShadowCompatOperation createShadowCompatOperation(final Matrix transform) {
        // If the shadowCompatOperations don't end on the desired endShadowAngle, add an arc to do so.
        addConnectingShadowIfNecessary(endShadowAngle);
        final List<ShadowCompatOperation> operations = new ArrayList<>(shadowCompatOperations);
        return new ShadowCompatOperation() {
            @Override
            public void draw(
                    Matrix matrix, ShadowRenderer shadowRenderer, int shadowElevation, Canvas canvas) {
                for (ShadowCompatOperation op : operations) {
                    op.draw(transform, shadowRenderer, shadowElevation, canvas);
                }
            }
        };
    }
ShadowCompatOperation createShadowCompatOperation ( final Matrix transform ) { addConnectingShadowIfNecessary ( endShadowAngle ) ; final List < ShadowCompatOperation > operations = new ArrayList < > ( shadowCompatOperations ) ; return new ShadowCompatOperation ( ) { @ Override public void draw ( Matrix matrix , ShadowRenderer shadowRenderer , int shadowElevation , Canvas canvas ) { for ( ShadowCompatOperation op : operations ) { op . draw ( transform , shadowRenderer , shadowElevation , canvas ) ; } } } ; }
Creates a ShadowCompatOperation to draw compatibility shadow under the matrix transform for
the whole path defined by this ShapePath.