added template method ProtocolOut::setKey(...)