public RegisterPercolatorRequestTests()
		{
			var request = new RegisterPercolatorRequest("index", "percolator-name")
			{
				MetaData = new Dictionary<string, object>
				{
					{ "color", "blue"}
				},
				Query = Query<ElasticsearchProject>.Term(p=>p.Name, "NEST")
			};
			var response = this._client.RegisterPercolator(request);
			this._status = response.ConnectionStatus;
		}
        public RegisterPercolatorRequestTests()
        {
            var request = new RegisterPercolatorRequest("index", "percolator-name")
            {
                MetaData = new Dictionary <string, object>
                {
                    { "color", "blue" }
                },
                Query = Query <ElasticsearchProject> .Term(p => p.Name, "NEST")
            };
            var response = this._client.RegisterPercolator(request);

            this._status = response.ConnectionStatus;
        }
		public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
		{
			var o = JObject.Load(reader);
			var request = new RegisterPercolatorRequest();

			var query = o.Property("query");
			if (query != null)
				request.Query = query.Value.ToObject<QueryContainer>(serializer);

			var metaProperties = o.Properties().Where(p => p.Name != "query");
			if (metaProperties.Count() > 0)
			{
				request.Metadata = new Dictionary<string, object>();
				foreach(var property in metaProperties)
					request.Metadata.Add(property.Name, property.Value.ToObject<object>());
			}

			return request;
		}