code: func (c *CipherWriter) Write(p []byte) (n int, err error) {
  	cp := pbytes.GetLen(len(p))
  	defer pbytes.Put(cp)
  
  	copy(cp, p)
  	ws.Cipher(cp, c.mask, c.pos)
  	n, err = c.w.Write(cp)
  	c.pos += n
  
  	return
  }
docs: // Write implements io.Writer interface. It applies mask vien during
  // initialization to every sent byte. It does not modify original slice.