private static IDictionary<string, object> HelperMethod(IEnumerable<RevisionInternal> revs, Database database)
        {
            Func<RevisionInternal, IDictionary<String, Object>> invoke = source =>
            {
                var hasAttachment = false;
                var attsSince = database.GetPossibleAncestorRevisionIDs(source, Puller.MaxNumberOfAttsSince, ref hasAttachment);

                if (!hasAttachment || attsSince.Count == 0) 
                {
                    attsSince = null;
                }

                var mapped = new Dictionary<string, object> ();
                mapped.Put ("id", source.GetDocId ());
                mapped.Put ("rev", source.GetRevId ());
                mapped.Put ("atts_since", attsSince);

                return mapped;
            };

                // Build up a JSON body describing what revisions we want:
            var keys = revs.Select(invoke);       
            
            var retval = new Dictionary<string, object>();
            retval.Put("docs", keys);
            return retval;
        }