protected CommandResult SaveEnumerable( IEnumerable<object> models )
        {
            try
            {
                var list = new BulkPersist( true, false, models );
                var body = list.ToString();

                var result = Post( body );
                var updates = result.GetResultAs<SaveResponse[]>().ToDictionary( x => x.Id, x => x.Revision );
                models
                    .ForEach( x =>
                                  {
                                      var documentId = x.GetDocumentIdAsJson();
                                      string newRev = null;
                                      if ( updates.TryGetValue( documentId, out newRev ) )
                                      {
                                          x.SetDocumentRevision( newRev );
                                      }
                                  } );
                return result;
            }
            catch ( Exception ex )
            {
                throw Exception(
                    ex,
                    "An exception occurred trying to save a collection documents at {0}. \r\n\t {1}",
                    Uri.ToString(),
                    ex
                    );
            }
        }
 protected static bool BulkPersistMatch(BulkPersist p)
 {
     var o = p.Documents[0] as TestDocument;
     return  o.DocumentId == id &&
             o.Message == "Hello" &&
             o.DocumentRevision == "2";
 }