/// <summary>
 ///  Set the routing key for this query. <p> This method allows to manually
 ///  provide a routing key for this query. It is thus optional since the routing
 ///  key is only an hint for token aware load balancing policy but is never
 ///  mandatory. </p><p> If the partition key for the query is composite, use the
 ///  <link>#setRoutingKey(ByteBuffer...)</link> method instead to build the
 ///  routing key.</p>
 /// </summary>
 /// <param name="routingKeyComponents"> the raw (binary) values to compose to
 ///  obtain the routing key.
 ///  </param>
 /// 
 /// <returns>this <code>SimpleStatement</code> object.
 ///  <see>Query#getRoutingKey</returns>
 public SimpleStatement SetRoutingKey(params CassandraRoutingKey[] routingKeyComponents)
 {
     this._routingKey = CassandraRoutingKey.Compose(routingKeyComponents); return this;
 }
 /// <summary>
 ///  Set the routing key for this query. <p> This method allows to manually
 ///  provide a routing key for this query. It is thus optional since the routing
 ///  key is only an hint for token aware load balancing policy but is never
 ///  mandatory. </p><p> If the partition key for the query is composite, use the
 ///  <link>#setRoutingKey(ByteBuffer...)</link> method instead to build the
 ///  routing key.</p>
 /// </summary>
 /// <param name="routingKeyComponents"> the raw (binary) values to compose to
 ///  obtain the routing key.
 ///  </param>
 ///
 /// <returns>this <code>SimpleStatement</code> object.
 ///  <see>Query#getRoutingKey</returns>
 public SimpleStatement SetRoutingKey(params CassandraRoutingKey[] routingKeyComponents)
 {
     this._routingKey = CassandraRoutingKey.Compose(routingKeyComponents); return(this);
 }