public static void Copy(this IBaseMessageContext ctx, ContextProperty source, ContextProperty destination) { if (source == null) { throw new ArgumentNullException("source"); } if (destination == null) { throw new ArgumentNullException("destination"); } object sourceValue; if (!ctx.TryRead(source, out sourceValue)) { throw new InvalidOperationException("Could not find the specified source property in BizTalk context."); } ctx.Promote(destination, sourceValue); }