//        public RiakMapReduceQuery GetIndex(Action<RiakFluentIndexPhase> setup)
        //        {
        //            var phase = new RiakIndexPhase();
        //            var fluent = new RiakFluentIndexPhase(phase);
        //            setup(fluent);
        //
        //            throw new NotImplementedException();
        //        }

        public RiakMapReduceQuery Filter(Action <RiakFluentKeyFilter> setup)
        {
            var filters = new List <IRiakKeyFilterToken>();
            var fluent  = new RiakFluentKeyFilter(filters);

            setup(fluent);
            _inputs.Filters.AddRange(filters);

            return(this);
        }
        //        public RiakMapReduceQuery GetIndex(Action<RiakFluentIndexPhase> setup)
        //        {
        //            var phase = new RiakIndexPhase();
        //            var fluent = new RiakFluentIndexPhase(phase);
        //            setup(fluent);
        //            
        //            throw new NotImplementedException();
        //        }
        public RiakMapReduceQuery Filter(Action<RiakFluentKeyFilter> setup)
        {
            var filters = new List<IRiakKeyFilterToken>();
            var fluent = new RiakFluentKeyFilter(filters);
            setup(fluent);
            _inputs.Filters.AddRange(filters);

            return this;
        }