private object ReadObject() { object returnValue = _plan.Deserialize(this); if (null != AfterDeserialization) { AfterDeserialization(this, new AfterDeserializationEventArgs(returnValue)); } return returnValue; }