/// <summary>
        /// Negates the result of key-filter operations.
        /// </summary>
        public RiakFluentKeyFilter Not(Action<RiakFluentKeyFilter> setup)
        {
            var filters = new List<IRiakKeyFilterToken>();
            var fluent = new RiakFluentKeyFilter(filters);
            setup(fluent);
            _filters.Add(new Not(filters));

            return this;
        }
        public RiakFluentKeyFilter And(Action<RiakFluentKeyFilter> left, Action<RiakFluentKeyFilter> right)
        {
            var leftFilters = new List<IRiakKeyFilterToken>();
            var leftfluent = new RiakFluentKeyFilter(leftFilters);
            left(leftfluent);

            var rightFilters = new List<IRiakKeyFilterToken>();
            var rightFluent = new RiakFluentKeyFilter(rightFilters);
            right(rightFluent);

            _filters.Add(new And(leftFilters, rightFilters));

            return this;
        }