public virtual IOperationContext Create(object initialValues) { var context = new OperationContext(); StructuredDataHelper.FillDictionaryWithValuesFromObject(initialValues, context.AddOrUpdate); if (initialValues != null) { foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(initialValues)) { var value = property.GetValue(initialValues); context.AddOrUpdate(property.Name, value); } } return(context); }