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; }