public virtual TObject CreateObject(XElement element, TContext context) { //default implementation returns an instance of the object return(ObjectType.CreateInstance <TObject>()); }