public Result <Source> EditSource(Source Source, Result <Source> aResult)
 {
     theServiceUri
     .At("sources")
     .With("id", Source.Id)
     .With("rev", Source.Rev)
     .Put(DreamMessage.Ok(MimeType.JSON, Source.ToString()), new Result <DreamMessage>())
     .WhenDone(delegate(Result <DreamMessage> answer)
     {
         if (!answer.Value.IsSuccessful)
         {
             if (answer.Value.Status == DreamStatus.NotFound)
             {
                 aResult.Return((Source)null);
             }
             else
             {
                 aResult.Throw(answer.Exception);
             }
         }
         else
         {
             aResult.Return(new Source(JObject.Parse(answer.Value.ToText())));
         }
     }
               );
     return(aResult);
 }
		public Result<Source> EditSource(Source Source, Result<Source> aResult)
		{
			theServiceUri
				.At("sources")
				.With("id", Source.Id)
				.With("rev", Source.Rev)
				.Put(DreamMessage.Ok(MimeType.JSON, Source.ToString()), new Result<DreamMessage>())
				.WhenDone(delegate(Result<DreamMessage> answer)
				{
					if (!answer.Value.IsSuccessful)
					{
						if (answer.Value.Status == DreamStatus.NotFound)
							aResult.Return((Source)null);
						else
							aResult.Throw(answer.Exception);
					}
					else
					{
						aResult.Return(new Source(JObject.Parse(answer.Value.ToText())));
					}
				}
				);
			return aResult;
		}