public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Variables", this.variables); // TODO review IClass cast info.AddValue("ClassName", ((IClass)this.Behavior).Name); }