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);
            }
        }