static PregeneratedMessage BuildQuery(string query)
{
Contract.Requires(query != null && query.All(c => c < 128));
var totalLen = 5 + query.Length;
var ms = new MemoryStream(totalLen);
_tempBuf.Underlying = ms;
_tempQuery.Populate(query);
_tempQuery.Write(_tempBuf);
_tempBuf.Flush();
return new PregeneratedMessage(ms.ToArray(), _tempQuery.ToString());
}