@Override
    public final void startElement() {
        
        if (ClipPaths.getInstance().isBuildingNewClipPath()) {
            _hasDirectObject = false;

            drawPath();

            ClipPaths.getInstance().addClipPathContent(
                    _object.getText()
                    .removeLineAt(0)
                    .removeLineAt(0)
                    .removeLineAt(_object.getText().lineCount() - 3));
        } else {
            saveGraphicsState();

            setClipPath();

            drawPath();

            setFill();
            setStroke();
            setOpacity();

            if (_hasStroke) {
                setStrokeWidth();
            }

            closePath();

            restoreGraphicsState();
        }
    }