`@param protocol the protocol to use when rewriting`

:jingd: