code: public void setNonStrokingColor (final PDColor color) throws IOException
    {
      if (nonStrokingColorSpaceStack.isEmpty () || nonStrokingColorSpaceStack.peek () != color.getColorSpace ())
      {
        writeOperand (getName (color.getColorSpace ()));
        writeOperator ((byte) 'c', (byte) 's');
  
        if (nonStrokingColorSpaceStack.isEmpty ())
        {
          nonStrokingColorSpaceStack.add (color.getColorSpace ());
        }
        else
        {
          nonStrokingColorSpaceStack.set (nonStrokingColorSpaceStack.size () - 1, color.getColorSpace ());
        }
      }
  
      for (final float value : color.getComponents ())
      {
        writeOperand (value);
      }
  
      if (color.getColorSpace () instanceof PDPattern)
      {
        writeOperand (color.getPatternName ());
      }
  
      if (color.getColorSpace () instanceof PDPattern ||
          color.getColorSpace () instanceof PDSeparation ||
          color.getColorSpace () instanceof PDDeviceN ||
          color.getColorSpace () instanceof PDICCBased)
      {
        writeOperator ((byte) 's', (byte) 'c', (byte) 'n');
      }
      else
      {
        writeOperator ((byte) 's', (byte) 'c');
      }
    }
docs: Sets the non-stroking color and, if necessary, the non-stroking color
  space.
  
  @param color
  Color in a specific color space.
  @throws IOException
  If an IO error occurs while writing to the stream.