private void WriteStroke(PdfContentByte canvas, Path path, PdfName strokeColorSpace) {
            canvas.InternalBuffer.Append(q);

            if (strokeColorSpace != null) {
                strokeColorSpace.ToPdf(canvas.PdfWriter, canvas.InternalBuffer);
                canvas.InternalBuffer.Append(' ').Append(cs);
            }

            IList<PdfObject> strokeColorOperands = cleanUpStrategy.Context.PeekStrokeColor();
            String strokeOperatorStr = strokeColorOperands[strokeColorOperands.Count - 1].ToString();
            // Below expression converts stroke color operator to its fill analogue.
            strokeColorOperands[strokeColorOperands.Count - 1] = new PdfLiteral(strokeOperatorStr.ToLower());
            WriteOperands(canvas, strokeColorOperands);

            WritePath(cleanUpStrategy.CurrentStrokePath, f, canvas);

            canvas.InternalBuffer.Append(Q);
        }