public virtual void AttemptUpdate(UnmarshallingContext context) { if (!Updating()) { IncrementOffset(context, context); return; } int savedOffset = context.Offset(); try { object toSet = context.Read(GetHandler()); if (toSet != null) { Set(context.PersistentObject(), toSet); } } catch (Exception) { // FIXME: COR-547 Diagnostics here please. context.Buffer().Seek(savedOffset); IncrementOffset(context, context); } }